Я запускаю приложение Rails на своем сервере Ubuntu 12.04. Я настроил задание cron для резервного копирования всех файлов, загруженных в мое приложение каждое утро в 2 часа ночи. Это много файлов (около 900 МБ). Но когда пользователи должны использовать приложение позже утром, они могут получить к нему доступ. Поэтому я вошел в систему с помощью SSH (который работает невероятно медленно), когда, наконец, я запустил команду top и увидел, что процесс gzip заполняет все 10 лучших. Они довольно маленькие, но я подозреваю, что их еще больше.
Это команда tar, которая будет выполнена
tar -cvzf $BASEBACKUP/uploads-$DATE.tar.gz /var/www/bptrial/current/public/uploads/* --exclude=tmp
Мой кронтаб
* 2 * * * cd /home/user/backup && sh mysql_backup.sh && sh files_backup.sh >> /tmp/cron.log
Неужели так много часов должно уходить на архивацию 900 МБ файлов? И почему он должен съедать все ресурсы?
решение1
Я думаю, что fkraiem прав.
Поясню:
Согласно страницам руководства crontab
user@host $ man 5 crontab
Поля времени и даты:
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''.
В вашем распоряжении
#m h dom mon dow command
* 2 * * * cd /home/user/backup...
Вы говорите, КАЖДАЯ минута часа 2 каждого дня каждого месяца каждого дня недели. Другими словами, каждая минута 2 утра запустит еще один экземпляр вашей данной команды.