[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Cron jobs



Consegui descobrir qual era o problema falando com o Javier
Fernandez-Sanguino, mantenedor do pacote cron do debian.

O script precisa acessar o servidor X e, para tanto, precisa do
XAUTHORITY correto. Quando executado da linha de comando, o XAUTHORITY
já está dado como variável do ambiente, mas quando é invocado pelo
cron, o mesmo não acontece.

Assim, para solucionar o problema é preciso atribuir explicitamente a
variável XAUTHORITY no script. O grande problema agora é que o GMD3
não usa o ~/.Xauthority, mas um arquivo aleatório dentro do
/var/run/gdm3/*/database que é criado para cada nova sessão.

Vou tentar criar um script que descubra o path correto para o
xauthority da sessão, se alguém tiver experiência com bash scripting e
quiser dar uma mão, serei extremamente grato. De qualquer forma, o
problema com o cron já está resolvido e o script funcionando.

Abraços,

André Nunes Batista
Blog: http://tagesuhu.wordpress.com/
PGP Public Key: 0x7b0590cb6722cf80


2012/8/1 André Nunes <andrenbatista@gmail.com>:
> Olá,
>
> Estou tentando, sem sucesso, agendar alguns scripts usando o cron e
> gostaria de saber se alguém consegue me dar uma luz aqui.
>
> Um dos scripts é:
>
> ----------------
>
> #!/bin/bash
> DATE="`date '+%Y%m%d_%H_%M'`"
> export DISPLAY=:0
> /usr/bin/import -window root -resize 800 /var/log/logkeys/ss/${DATE}.jpg
>
> ----------------
>
> O path para o script é: "/usr/local/bin/screen.sh"
>
> Permissões, usuário e grupo:   "-rwxr-xr-x 1 root staff"
>
>
> O cron job é:
>
> --------------
>
> # Agendamento de printscreen a cada dois minutos.
>
> SHELL=/bin/sh
> PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
>
> */2 * * * * root /usr/local/bin/screen.sh
>
> --------------
>
> O path é: /etc/cron.d/screen
>
> As permissões, usuário e grupo são:  "-rw-r--r-- 1 root root"
>
> O /var/log/syslog informa que o agendamento deu certo e o script está
> sendo executado:
>
> ------------
>
> Aug  1 15:08:53 tagesuhu-pc dbus[1639]: [system] Successfully
> activated service 'org.debian.apt'
> Aug  1 15:08:54 tagesuhu-pc wpa_supplicant[1700]: wlan0: WPA: Group
> rekeying completed with XXXXXXXXX [GTK=CCMP]
> Aug  1 15:09:25 tagesuhu-pc wpa_supplicant[1700]: wlan0: WPA: Group
> rekeying completed with XXXXXXXXXXXXX [GTK=CCMP]
> Aug  1 15:09:56 tagesuhu-pc wpa_supplicant[1700]: wlan0: WPA: Group
> rekeying completed with XXXXXXXXXXXX [GTK=CCMP]
> Aug  1 15:10:01 tagesuhu-pc /USR/SBIN/CRON[22434]: (root) CMD
> (/usr/local/bin/screen.sh)
> Aug  1 15:10:27 tagesuhu-pc wpa_supplicant[1700]: wlan0: WPA: Group
> rekeying completed with XXXXXXXXXXXX [GTK=CCMP]
> Aug  1 15:10:58 tagesuhu-pc wpa_supplicant[1700]: wlan0: WPA: Group
> rekeying completed with XXXXXXXXXXXXXXX [GTK=CCMP]
> Aug  1 15:11:29 tagesuhu-pc wpa_supplicant[1700]: wlan0: WPA: Group
> rekeying completed with XXXXXXXXXXXX [GTK=CCMP]
> Aug  1 15:12:00 tagesuhu-pc wpa_supplicant[1700]: wlan0: WPA: Group
> rekeying completed with XXXXXXXXXXXX [GTK=CCMP]
> Aug  1 15:12:01 tagesuhu-pc /USR/SBIN/CRON[22449]: (root) CMD
> (/usr/local/bin/screen.sh)
> Aug  1 15:12:31 tagesuhu-pc wpa_supplicant[1700]: wlan0: WPA: Group
> rekeying completed with XXXXXXXXXXXXX [GTK=CCMP]
> Aug  1 15:13:02 tagesuhu-pc wpa_supplicant[1700]: wlan0: WPA: Group
> rekeying completed with XXXXXXXXXXXXXXX [GTK=CCMP]
> Aug  1 15:13:33 tagesuhu-pc wpa_supplicant[1700]: wlan0: WPA: Group
> rekeying completed with XXXXXXXXXXXXXXXXXX [GTK=CCMP]
> Aug  1 15:13:53 tagesuhu-pc AptDaemon: INFO: Quitting due to inactivity
> Aug  1 15:13:53 tagesuhu-pc AptDaemon: INFO: Quitting was requested
> Aug  1 15:14:01 tagesuhu-pc /USR/SBIN/CRON[22464]: (root) CMD
> (/usr/local/bin/screen.sh)
>
> ------------
>
> No entanto, ao verificar o diretório /var/log/logkeys/ss/, nenhum
> arquivo está sendo gravado.
>
> Testei o script diretamente do shell e ele funcionou normalmente. Além
> disso, os outros dois scripts também não estão sendo executados pelo
> cron, de modo que eu acredito que há algum problema na forma como eu
> agendei a sua execução, só não consigo entender qual é o problema.
>
> Obs: Não possuo nem o arquivo cron.allow nem o arquivo cron.deny.
>
> André Nunes Batista
> Blog: http://tagesuhu.wordpress.com/
> PGP Public Key: 0x7b0590cb6722cf80


Reply to: