Ubuntu 9.10 och cron job bugg? [LÖST]
Postat: 03 nov 2009, 12:53
Jag har ett par skript som jag kör med cron job i Ubuntu. Problemet är att alla skript fungerade finfint i Ubuntu 9.04, men sedan jag installerade Ubuntu 9.10 från scratch så har skripten slutat att skriva echo "bla bla" > /home/username/logfile.txt och även slutat att ta bort vissa filer med rm filenamn.txt. Vad är det här? Varför fungerar inte mina cron job som förut? Jag använder user cron job. Det kanske var så att jag använde root cron job förut, vet inte. Hur som helst, här är min kod och resultatet från två olika set -x exec &> loggfil.txt:
Det som är skumt är att rm filter_$yesterday dvs rm filter_091102 inte fungerar när jag kör genom user cron job, men det gör det däremot när jag kör skriptet manuellt mha ./skript i Terminalen. Samma sak händer i ett annat skript där en rad ska skriva en loggfile med echo "bla bla" > /home/mitt_användarnamn/loggfil.txt. Den raden fungerade fint med ett cron job i Ubuntu 9.04, men inte i Ubuntu 9.10? Raden fungerar perfekt om jag kör skriptet manuellt. Vad är det här?
Kod: Markera allt
**********************************************
Script code:
***********************************************
#!/bin/bash
set -x
exec &> /home/username/Desktop/loggeliloggfil2.txt
date=$(date +%T_%y%m%d)
today=$(date +%y%m%d)
yesterday=$(date +%y%m%d -d "yesterday")
#n=$(( 0 ))
if [ ! -f filter_$today.txt ];
then
touch filter_$today.txt
fi
grep -xFv -f filter_$today.txt list_of_members.txt | sort | uniq | sort -R | head -80 > input.txt
sort input.txt >> filter_$today.txt
if [ -f filter_$yesterday.txt ];
then
rm filter_$yesterday.txt
fi
******************************************************
Result of exec when running as user cron job:
*****************************************************
+ date=10:25:01_091103
++ date +%y%m%d
+ today=091103
++ date +%y%m%d -d yesterday
+ yesterday=091102
+ '[' '!' -f filter_091103.txt ']'
+ touch filter_091103.txt
+ grep -xFv -f filter_091103.txt list_of_members.txt
+ sort
grep: list_of_members.txt: No such file or directory
+ uniq
+ sort -R
+ head -80
+ sort input.txt
+ '[' -f filter_091102.txt ']'
+ read url
+ rm code.txt usernames.txt raw_members.txt
******************************************
And this is the result of exec when running by hand writing ./script in Terminal:
************************************************
++ date +%T_%y%m%d
+ date=10:39:11_091103
++ date +%y%m%d
+ today=091103
++ date +%y%m%d -d yesterday
+ yesterday=091102
+ '[' '!' -f filter_blogs_091103.txt ']'
+ grep -xFv -f filter_091103.txt list_of_members.txt
+ sort
+ uniq
+ sort -R
+ head -80
+ sort input.txt
+ '[' -f filter_091102.txt ']'
+ rm filter_091102.txt
+ read url