Strona 1 z 1

[+] Skrypt uruchamiany z pomocą CRON-a

: 08 sierpnia 2012, 23:48
autor: nyx
Witam.

Napisałem sobie prosty skrypt, którego zadaniem jest informowanie mnie o czasie jaki użytkownik jest "poza" komputerem.

Kod: Zaznacz cały

#!/bin/bash

il_ms=300000

idletime=`/usr/bin/xprintidle`

/bin/date  +%T >> /home/[B]użytkownik[/B]/idletime
echo $idletime >> /home/[B]użytkownik[/B]/idletime
echo "_________" >> /home/[B]użytkownik[/B]/idletime

if  [ "$idletime" -ge "$il_ms" ] ;
then
echo "status 1" >> /home/[B]użytkownik[/B]/idletime
else 
echo "status 2" >> /home/[B]użytkownik[/B]/idletime
fi

echo "=======" >> /home/[B]użytkownik[/B]/idletime
Jak uruchomię sobie lokalnie ten skrypt wszytko działa dobrze.

Chciałem zautomatyzować skrypt i uruchamiać go cyklicznie zatem poleceniem:

Kod: Zaznacz cały

crontab -e
dodałem sobie wpis:

Kod: Zaznacz cały

* * * * * /bin/sh -c  /home/użytkownik/skrypt.sh >> /dev/null
I niestety, w pliku powstałym przez działanie skryptu nie ma informacji o czasie pochodządzącym z programu xprintidle.

Nie wiem gdzie robię błąd? Może uda się Wam go znaleźć.

Dziękuję za pomoc.

: 09 sierpnia 2012, 08:49
autor: larry2003
Pamiętaj, że w crontabie można włączyć logowanie do pliku:

Kod: Zaznacz cały


* * * * * /bin/sh -c  /home/[B]użytkownik[/B]/skrypt.sh >> /home/[B]użytkownik[/B]/jakiś.log 2>&1
Z pewnością nakierowałoby Cię to na rozwiązanie:

Kod: Zaznacz cały


* * * * * env DISPLAY=:0.0 /bin/sh -c  /home/[B]użytkownik[/B]/skrypt.sh >> /dev/null

: 09 sierpnia 2012, 23:16
autor: nyx
Cześć
Faktycznie próbowałem włączyć logowanie ale nie dodałem na końcu : 2>&1 (plik z logiem tworzył się pusty).
Teraz faktycznie działa tak jak trzeba.
Jeszcze raz dzięki.