带有日期的 Cron 文件名正在传递 Y_m_d 而不是实际日期
Cron filename with date is passing Y_m_d not actual date
每天使用 cron 备份 mysql 到一个文件夹。因此尝试在 linux 服务器中使用以下代码安排 cron。 related post
0 0 * * * <username> mysqldump -u<mysql username> -p<mysql password> <database name> > /home/<username>/Db_BackUp/expense_$( date +"\℅Y_\℅m_\℅d" ).sql
以上 cron 正在运行,但生成的文件名类似于
expense_\.Y_\.m_\.d.sql
I need cron to create filename as expense_2016_04_05.sql
如何在 cron 中执行此操作?
related answer from SO Post
有关 cron 重启的附加信息 SO Post
由于 cron 不是 shell,它不会像 shell 那样在 cron 行中执行 $() 包装器中的项目。然而,一些像 Vixie Cron 这样的 cron 将允许你在你的命令之前定义变量:
YMD=/bin/date +%Y_%m_%d
0 0 * * * /path/to/command > /home/username/Db_BackUp/expense_$($YMD).sql
如果这不起作用,您可能需要编写一个帮助程序脚本,然后 运行 it 通过 cron 代替。例如:
mysqldump_helper.sh
#!/bin/bash
YMD=`/bin/date +%Y_%m_%d`
/path/to/command > /home/username/Db_BackUp/expense_$YMD.sql
crontab
* * * * * /path/to/mysqldump_helper.sh
每天使用 cron 备份 mysql 到一个文件夹。因此尝试在 linux 服务器中使用以下代码安排 cron。 related post
0 0 * * * <username> mysqldump -u<mysql username> -p<mysql password> <database name> > /home/<username>/Db_BackUp/expense_$( date +"\℅Y_\℅m_\℅d" ).sql
以上 cron 正在运行,但生成的文件名类似于
expense_\.Y_\.m_\.d.sql
I need cron to create filename as
expense_2016_04_05.sql
如何在 cron 中执行此操作?
related answer from SO Post
有关 cron 重启的附加信息 SO Post
由于 cron 不是 shell,它不会像 shell 那样在 cron 行中执行 $() 包装器中的项目。然而,一些像 Vixie Cron 这样的 cron 将允许你在你的命令之前定义变量:
YMD=/bin/date +%Y_%m_%d
0 0 * * * /path/to/command > /home/username/Db_BackUp/expense_$($YMD).sql
如果这不起作用,您可能需要编写一个帮助程序脚本,然后 运行 it 通过 cron 代替。例如:
mysqldump_helper.sh
#!/bin/bash
YMD=`/bin/date +%Y_%m_%d`
/path/to/command > /home/username/Db_BackUp/expense_$YMD.sql
crontab
* * * * * /path/to/mysqldump_helper.sh