código válido em / etc / crontab não será executado

0

Em um sistema de servidor Ubuntu 16.04 não personalizado, meu / etc / crontab possui o seguinte código, que é executado quando executado manualmente:

0 8 * * * zip -r /UsualUser/backups/dirs/html-$(date +\%F-\%T-).zip /var/www/html
0 8 * * * find /UsualUser/backups/dirs/* -mtime +30 -exec rm {} \;
# m h dom m dow
# 0-59 | 0-23 | 1-31 | 1-12 | 0-6

Nenhum erro em journalctl -u cron .

Acredito que o problema seja porque o arquivo não é executável, pois suas permissões são 644 . No entanto, não tenho certeza sobre qual é o conjunto de permissões mais seguro para torná-lo executável, para que o código nele comece a funcionar.

    
por JohnDoea 09.06.2017 / 09:11

1 resposta

1

O arquivo /etc/crontab no Ubuntu é o arquivo crontab do sistema. Ele não deve ser executável e seu formato é diferente do arquivo crontab do usuário.

A diferença no formato é que seu 6º campo é o nome do usuário que a entrada deve ser executada como.

Além disso, % tem um significado especial em arquivos crontab. Todos os % serão alterados para uma nova linha, a menos que tenham escapado como \% (mas vejo que você já tomou precauções contra isso).

Essas coisas são descritas no manual do crontab ( man 5 crontab ):

The format of a cron command is very much the V7 standard, with a number of upward-compatible extensions. Each line has five time and date fields, followed by a command, followed by a newline character (\n). The system crontab (/etc/crontab) uses the same format, except that the username for the command is specified after the time and date fields and before the command.

    
por 09.06.2017 / 09:19

Tags