Ответ 1
Вы должны использовать ``
вместо ''
вокруг команды, которую вы хотите выполнить, для создания текущей даты для вашего имени файла.
Я создал задачу Cron на своем веб-хосте для ежедневного резервного копирования моей базы данных, и я бы хотел, чтобы она добавила текущую дату к имени файла.
Моя задача Cron выглядит следующим образом
mysqldump -u username -pPassword db_name > www/db_backup/db_backup+date%d%m%y.sql
Но файл, который я получаю, следующий: db_backup + date отсутствие расширения файла или даты.
Я также пробовал эту команду
mysqldump -u username -pPassword db_name > www/db_backup/db_backup_'date +%d%m%y'.sql
но это даже не дает выход файла.
Какой правильный синтаксис для добавления даты в файл?
Искренняя
- Местика
Вы должны использовать ``
вместо ''
вокруг команды, которую вы хотите выполнить, для создания текущей даты для вашего имени файла.
* * * * * echo "hello" > /tmp/helloFile_$(date +\%Y\%m\%d\%H\%M\%S).txt
Вам просто нужно избежать скобок.
Другие форматы дат: http://www.cyberciti.biz/faq/linux-unix-formatting-dates-for-display/
Мне нужно создать новый файл журнала каждый раз при выполнении команды. Поэтому каждый день у меня должен быть журнал вроде этого /home/me/Logs/power_20151230.log
Линия crontab
, которую я использую, такова:
00 8 * * * /home/me/power.py ON >> /home/me/Logs/power\_`date +20\%y\%m\%d`
Примечание символ подчеркивания также должен быть экранирован.
Вы должны избегать формата и использовать оценку
mysqldump -u username -pPassword db_name > www/db_backup/db_backup_`date +\%d\%m\%y`.sql