Cron任务:通过Cron将当前日期附加到文件名?

时间:2012-02-02 10:24:08

标签: cron cron-task

我在我的webhost上创建了一个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 

但是甚至没有提供文件输出。

将日期附加到我的文件的正确语法是什么?


- 梅斯蒂卡

4 个答案:

答案 0 :(得分:52)

* * * * * echo "hello" > /tmp/helloFile_$(date +\%Y\%m\%d\%H\%M\%S).txt

你只需要逃避括号。

其他日期格式: http://www.cyberciti.biz/faq/linux-unix-formatting-dates-for-display/

答案 1 :(得分:29)

您应该在要执行的命令周围使用``而不是''来生成文件名的当前日期。

答案 2 :(得分:5)

每次执行命令时我都需要创建一个新的日志文件。所以我每天都应该有这样的日志/home/me/Logs/power_20151230.log 我使用的crontab行是:

00 8 * * * /home/me/power.py ON >> /home/me/Logs/power\_`date +20\%y\%m\%d`

注意下划线字符也必须进行转义。

答案 3 :(得分:2)

您必须转义格式并使用评估

mysqldump -u username -pPassword db_name > www/db_backup/db_backup_`date +\%d\%m\%y`.sql