В crontab я запланировал ежедневный скрипт резервного копирования. Теперь, когда cron выполняет скрипт, статус записывается в файл журнала, как показано ниже.
0 0 * * * /home/backup.sh > /home/groupz/db-backup/fbackup.log 2>&1
Теперь, когда cron выполняет скрипт, содержимое журнала обновляется каждый раз. Итак, я хочу, чтобы содержимое было добавлено в тот же файл с отметкой времени выполненного времени и под содержимым каждого времени вместе с существующим содержимым. Как я могу это сделать.
+%d-%m-%y/%H:%M:%S
Станет:+\%d-\%m-\%y/\%H:\%M:\%S
Ответы:
почему не просто
0 * * * * (/bin/date && /home/backup.sh) >> /var/log/backup.log 2>&1
источник
Как получить метку времени в файле
Чтобы добавить отметку времени в файл, вы можете использовать
date
см.man date
Для более подробной информации. Например, если вы используете в терминале у вас будет вывод, как,Вывод в формате
dd-mm-yy/hour:min:sec
Если вы хотите поместить метку времени в файл, используйте
Перенаправление
Если вы используете,
date +%d-%m-%y/%H:%M:%S > filename
тогда дата будет сохранена в файле, но она будет перезаписываться при каждом использовании команды. Чтобы добавить его в существующий файл, используйтеЭто добавит последний результат выполнения в конец вашего существующего файла.
Что вы делаете в вашем случае
Вы можете добавить следующую строку в конце вашего
/home/backup.sh
,И используйте следующее в crontab,
Я думаю, что выше модификация должна делать то, что вы хотите.
источник
(На Debian Jessie) Используйте
ts
команду, которая является частьюmoreutils
пакета. Например:Это добавит метку времени к каждой строке вывода и сохранит ее в вашем журнале.
источник
moreutils
Так как вы запускаете скрипт оболочки, почему бы не добавить строку вроде
в вашем скрипте т.е. /home/backup.sh
затем
добавит строку до / после fbackup.log, как Чт 14 июня 11:10:22 UTC 2018
источник
echo `date -u`
же, какdata -u
?Вы можете добавить что-то в файл, используя две из этих вещей: «>».
источник