Problemas com o crontab CentOS 7 - não processando jobs

2

Então, estou tendo alguns problemas com a configuração do meu cron - presumo que seja um erro que cometi, pois é a primeira vez que o configuro. Eu tenho dois trabalhos que eu configurei no cron, um para rodar às 01:00 da manhã às 2 da manhã, diariamente. Este é meu / etc / crontab:

SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root

# For details see man 4 crontabs

# Example of job definition:
# .---------------- minute (0 - 59)
# |  .------------- hour (0 - 23)
# |  |  .---------- day of month (1 - 31)
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# |  |  |  |  |
# *  *  *  *  * user-name  command to be executed

0 1 * * * root /usr/local/mysql/bin/mysqldump -usomeuser -psomepassword --opt zabbix > "/backups/zabbix_mysqldb.sql_$(date +%F_%R)"
0 2 * * * root /usr/bin/sh /zabbix_scripts/mysql_backup_script/zabbix-mysql-dump -p somepassword -o /backups

Aqui está o que estou vendo em / var / log / cron:

Feb  7 01:00:01 adlmonitor01 CROND[17334]: (root) CMD (/usr/local/mysql/bin/mysqldump -usomeuser -psomepassword --opt zabbix > "/backups/zabbix_mysqldb.sql_$(date +)
Feb  7 01:01:01 adlmonitor01 CROND[17539]: (root) CMD (run-parts /etc/cron.hourly)
Feb  7 01:01:01 adlmonitor01 run-parts(/etc/cron.hourly)[17539]: starting 0anacron
Feb  7 01:01:01 adlmonitor01 anacron[17548]: Anacron started on 2017-02-07
Feb  7 01:01:01 adlmonitor01 anacron[17548]: Normal exit (0 jobs run)
Feb  7 01:01:01 adlmonitor01 run-parts(/etc/cron.hourly)[17550]: finished 0anacron

Feb  7 02:00:01 adlmonitor01 CROND[28788]: (root) CMD (/usr/bin/sh /zabbix_scripts/mysql_backup_script/zabbix-mysql-dump -p somepassword -o /backups)
Feb  7 02:01:01 adlmonitor01 CROND[28992]: (root) CMD (run-parts /etc/cron.hourly)
Feb  7 02:01:01 adlmonitor01 run-parts(/etc/cron.hourly)[28992]: starting 0anacron
Feb  7 02:01:01 adlmonitor01 anacron[29001]: Anacron started on 2017-02-07
Feb  7 02:01:01 adlmonitor01 anacron[29001]: Normal exit (0 jobs run)
Feb  7 02:01:01 adlmonitor01 run-parts(/etc/cron.hourly)[29003]: finished 0anacron

Meu palpite é um erro de sintaxe que cometi, mas não consigo descobrir onde, alguém poderia lançar alguma luz?

    
por DRCat 08.02.2017 / 02:37

1 resposta

1

Tente substituir a longa chamada de comando e a saída redirecionada que você está tentando invocar por um script que faz a mesma coisa, por exemplo, coloque a linha

/usr/local/mysql/bin/mysqldump -usomeuser -psomepassword --opt zabbix > "/backups/zabbix_mysqldb.sql_$(date +%F_%R)"

em um arquivo de script, digamos / root / mytestscript, torne-o executável e chame-o no cron como

0 1 * * * root /root/mytestscript > /root/mytestscript.log 2> /root/mytestscript.err

... ou, melhor ainda, inclua o registro de saída e erro no corpo do próprio mytestscript, que permite fazer

0 1 * * * root /root/mytestscript

Você provavelmente achará que o cron está engolindo stdout e stderr (ou, como no cron clássico, tentando enviar a saída). Um dos dois métodos de chamada acima garantirá que você veja todos os registros em locais previsíveis.

Por fim, para sua informação, não é seguro colocar senhas em scripts, portanto tudo isso é uma correção temporária até que você resolva esse problema. Experimente o link para obter ajuda.

    
por 08.02.2017 / 03:07

Tags