通过Cron将当前日期附加到文件名吗?

问题描述 投票:33回答:4

我已经在Web主机上创建了一个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 

但是那甚至都不提供文件输出。

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

cron cron-task
4个回答
29
投票

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


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

您只需要转义括号即可。

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


5
投票

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

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

[Note下划线字符也必须转义。


5
投票

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

mysqldump -u username -pPassword db_name > www/db_backup/db_backup_`date +\%d\%m\%y`.sql
© www.soinside.com 2019 - 2024. All rights reserved.