Estou executando um aplicativo Rails no meu servidor Ubuntu 12.04. Configurei um cron job para fazer backup de todos os arquivos enviados para meu aplicativo todas as manhãs às 2h. São muitos arquivos (cerca de 900 MB). Mas quando os usuários precisam usar o aplicativo no final da manhã, eles podem acessá-lo. Então eu loguei com SSH (que fica incrivelmente lento) quando finalmente executo um comando top e vejo que o processo gzip está preenchendo todos os 10 primeiros. Eles são bem pequenos, mas suspeito que haja ainda mais deles.
Este é o comando tar que é executado
tar -cvzf $BASEBACKUP/uploads-$DATE.tar.gz /var/www/bptrial/current/public/uploads/* --exclude=tmp
Meu crontab
* 2 * * * cd /home/user/backup && sh mysql_backup.sh && sh files_backup.sh >> /tmp/cron.log
Realmente deveria levar tantas horas para compactar 900 MB de arquivos? E por que tem que consumir todos os recursos?
Responder1
Eu acho que fkraiem está correto.
Para elaborar:
De acordo com as páginas de manual do crontab
user@host $ man 5 crontab
Os campos de hora e data são:
field allowed values
----- --------------
minute 0-59
hour 0-23
day of month 1-31
month 1-12 (or names, see below)
day of week 0-7 (0 or 7 is Sun, or use names)
A field may be an asterisk (*), which always stands for ``first-last''.
No seu comando
#m h dom mon dow command
* 2 * * * cd /home/user/backup...
Você está dizendo, CADA minuto da hora 2 de cada dia de cada mês de cada dia da semana. Em outras palavras, a cada minuto das 2h da manhã iniciará outra instância do comando fornecido.