我在我的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
但是甚至没有提供文件输出。
将日期附加到我的文件的正确语法是什么?
施
- 梅斯蒂卡
答案 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