O trabalho do Cron não está funcionando

1

Estou usando a distribuição do Debian. Eu tenho um cron job no diretório /etc/cron.d/ , chamado testuoju.sh . Parece:

34 * * * * bash /var/www/html/script/testuoju.sh
O arquivo

testuoju.sh em /var/www/html/script se parece com:

#!/bin/sh
omxplayer -b -o local /var/www/html/uploads/testuoju.mp4

É claro que eu modifico os minutos toda vez que eu tento ... Mas não funciona.

    
por xxx 15.11.2016 / 19:40

2 respostas

3

Existem alguns problemas com o seu trabalho cron .

Primeiro, duvido que sua sexta entrada seja bash ; é suposto ser o usuário a executar o trabalho como (presumivelmente seu usuário).

Segundo, cron não é realmente adequado para executar um programa gráfico como omxplayer . Ele pode ser feito para funcionar, mas você precisará pelo menos definir DISPLAY apropriadamente (para que ele corresponda ao que você tem ao executar o ambiente de área de trabalho).

Além disso, o cron manpage do Debian menciona que

In general, the system administrator should not use /etc/cron.d/, but use the standard system crontab /etc/crontab.

Há algumas coisas a serem observadas aqui: usar /etc/crontab geralmente é melhor do que descartar um arquivo em /etc/cron.d e tudo isso é destinado ao administrador do sistema. Para trabalhos do usuário você deve realmente usar o usuário crontab , via

crontab -e

(como usuário). A advertência relativa aos programas gráficos ainda se aplica ...

    
por 15.11.2016 / 20:11
0

Tente usar o caminho absoluto do executável omxplayer , por exemplo,

/usr/sbin/omxplayer -b -o local /var/www/html/uploads/testuoju.mp4

ou onde quer que seja colocado.

    
por 15.11.2016 / 20:37