Witam,
Bawię się z pisaniem skryptów i ich automatyzacją. Posiadam skrypcik, który sprawdza czy system jest aktualny, jeśli są jakieś dostępne aktualizacje pojawia się chumrka z notyfikacją:
#!/bin/bash
#aktualny czas - do testów
NOW=`date +%y-%m-%d-godz.%H:%M:%S`
updates=$(/usr/lib/update-notifier/apt-check 2>&1)
echo $NOW >> /tmp/testvarlog.log
# Sprawdzanie aktualizacji bezpieczeństwa
pending=$(echo "$updates" | cut -d ";" -f 2)
if ["$pending" != "0"]; then
notify-send "Aktualizacje bezpieczeństwa dostępne!"
fi
# Pozostałe aktualizacje
pending=$(echo "$updates" | cut -d ";" -f 1)
if ["$pending" != "0"]; then
notify-send "Aktualizacje dostępne!"
fi
Skrypt uruchomiony ręcznie działa (dodatkowo do testów zapisuje się aktualna data i czas do pliku z logiem)
Następnie w:
sudo crontab -e
mam taki wpis:
*/1 * * * * ~/skrypty/update_notifer.sh >/dev/null 2>&1
(do testów uruchamia się co minutę)
log z sysloga:
Jun 23 12:34:01 kd CRON[7646]: (root) CMD (~/skrypty/update_notifer.sh >/dev/null 2>&1)
skrypt nie działa (nie ma notyfikacji, ani wpisu w pliku log)
Jeśli w cronie wpiszę bez frazy >/dev/null 2>&1
otrzymuję sysloga:
Jun 23 12:38:01 kd CRON[12493]: (root) CMD (~/skrypty/update_notifer.sh )
Jun 23 12:38:01 kd postfix/pickup[32498]: 547145FBB7: uid=0 from=<root>
Jun 23 12:38:01 kd postfix/cleanup[12497]: 547145FBB7: message-id=<20150623103801.547145FBB7@kd>
Jun 23 12:38:01 kd postfix/qmgr[32499]: 547145FBB7: from=<root@kd>, size=509, nrcpt=1 (queue active)
Jun 23 12:38:01 kd postfix/local[12499]: 547145FBB7: to=<root@kd>, orig_to=<root>, relay=local, delay=0.11, delays=0.07/0/0/0.03, dsn=2.0.0, status=sent (delivered to mailbox)
Jun 23 12:38:01 kd postfix/qmgr[32499]: 547145FBB7: removed
Wcześniej miałem błąd, wygooglowałem i okazało się, ze trzeba zainstalować postfix - podejrzewam, że tutaj jest problem.
Jakieś sygestie co jest nie tak?
P.S. skrypt ma chmod 755, system Ubuntu 14.04