2014-10-28 5 views
1

Я выяснил, как выводить задания cron в файл журнала, используя >> и предоставляя путь к файлу журнала. >> добавляет информацию журнала в существующий файл. Как я могу сделать так, чтобы задание cron создавало новый файл журнала каждый раз, когда он запускался? (т. е. rsync.log, rsync(1).log, rsync(2).log - в идеале, хотя мне бы хотелось, чтобы имя файла журнала было чем-то вроде DD-MM-YY.log).Новый файл журнала каждый раз, когда выполняется задание cron

Я хочу отдельный файл журнала, чтобы этот один файл журнала не становился настолько огромным, и если/когда мы идем, чтобы посмотреть, была ли резервная копия файла/папки (я выполняю команду rsync в задании cron), нам не нужно расчесывать файл журнала MASSIVE.

Кроме того, когда задание cron выводится в файл журнала, ссылок на время и дату нет. Пример моего первого выходного лога:

**sending incremental file list** 
**sent 78 bytes received 11 bytes 35.60 bytes/sec** 
**total size is 0 speedup is 0.00** 

Всё. Временная метка в этом файле журнала будет меняться каждый раз при запуске задания, поэтому мы даже не сможем определить, в какой день этот файл или папка был скопирован через rsync. Если бы у меня был отдельный файл журнала каждый раз, когда выполнялось задание cron, я мог бы просто открыть файл журнала для конкретной даты, когда он был создан, и просмотреть резервное копирование.

Мой текущий cronjob:

*/1 * * * * rsync -avz /home/me/test/ [email protected]:test/ >>/home/me/cron_logs/homedir_backups/rsync.log 2>&1 

у меня только он установлен на 1 минуту для целей тестирования. В конце концов, это будет работать ежедневно только в полночь.

ответ

1

Если вы хотите журналы с отметками времени, вы добавляете строку форматированной команды даты, date +% d% y% m для дня месяца в формате числа.

Вы можете использовать кавычку поместить строку в хроне:

~$ /home/me/cron_log-`/bin/date +%d-%m-%y` 

Так что имя файла будет иметь текущую дату, присоединенную к нему. Обратный ход говорит: «Запустите эту команду и поставьте вывод здесь как строку».

Теперь проблема в том, что ваш каталог может стать огромным, а затем вам придется написать короткий скрипт, чтобы удалить их по времени. У меня есть сценарий, который читает формат и сохраняет X и удаляет остальное, но большинство людей просто будут использовать «find» для удаления по времени более старых вещей, таких как журналы, которые имеют mtime> 1 год.

+0

Отрицательные моменты для запроса вопроса. Потрясающие. Просто хотел поблагодарить вас очень сильно за это предложение Юджина. Это именно то, что я искал. Я бы проголосовал за вас, но я недостаточно популярен. – 00fruX

+0

@ 00fruX спасибо ему, приняв ответ. – franklin

+0

Спасибо за напоминание @franklin. После того, как он сказал мне, что «голосование требует 15 репутаций», я закатил глаза и закрыл вкладку, оглядываясь назад - даже не заметил отметки в качестве ответа. – 00fruX

Смежные вопросы