Как добавить уникальный идентификатор к имени файла в задании крона?

Существует инструмент для замораживания состояния процесса, названного cryopid. Однако в настоящее время это не работает с экраном GNU, поскольку это не поддерживает воссоздание иерархии подпроцессов. Они заявляют, что хотят достигнуть этого в будущем, но проект, кажется, не слишком активен в данный момент. Тем не менее, Вы могли бы хотеть проследить их прогресс.

8
26.04.2011, 04:00
3 ответа

Для удара, возможно:

... > /srv/backup/mysql_daily-$(date -u +\%Y\%m\%dT\%H\%M\%S)Z.${RANDOM}.dump

Лично, я обычно только вставил простые команды мой crontab. Я поместил это в небольшой сценарий и использую сценарий в crontab. Это обладало бы преимуществом не требования % символы, которых оставят (общая crontab ловушка).

обновление сделало это ISO 8601 на комментарий @johan

крон

14
27.01.2020, 20:09
  • 1
    Вы могли изменить синтаксис просто немного, и это будет идеальный формат даты ISO 8601. [YYYY] [MM] [DD] T [гд] [мм] [ss] Z, так как Вы используете дату-u для UTC, Вы могли добавить Z после даты ;). en.wikipedia.org/wiki / … –  Johan 26.04.2011, 11:04

Общая практика для этого должна использовать использование метки времени date +%s генерировать что-то полезное для маркировки файла (я использовал секунды в качестве примера, но можно использовать любой формат даты). Действительно не необходимо иметь действительно уникальное имя файла, пока имя файла не конфликтует.

5 3 * * * mysqldump -u root test > /srv/backup/mysql_daily_`date +\%s`.dump
3
27.01.2020, 20:09

Попробовать

5 3 * * * mysqldump -u root test > /srv/backup/mysql_daily.$(/bin/date +\%Y\%m\%d).dump

который поместит текущую дату в формат YYYYMMDD в имя файла.

1
27.01.2020, 20:09

Теги

Похожие вопросы