2012-02-02 49 views
25

我在我的虛擬主機上創建了一個Cron任務來每天備份我的數據庫,並且我希望它將當前日期追加到文件名。Cron任務:通過Cron追加當前日期到文件名?

我的cron作業看起來像這樣

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

但我得到的文件是這樣的:在db_backup +日期沒有文件擴展名或日期。

我也試過這個命令

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

但是,這並不甚至給一個文件輸出。

將日期附加到我的文件的正確語法是什麼?

真誠
- Mestika

回答

23

您應該使用``而不是''各地要執行到爲您的文件名中的當前日期的命令。

+1

可以編輯答案或有人提供意見更準確的例子嗎? – 2018-01-18 05:36:59

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

你只需要轉義括號。

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

+2

不適用於CentOS .. – raven 2014-11-24 07:09:39

+3

使用CentOS 6.6。 */10 * * * */usr/bin/php -q /var/www/script.php> cron-job-log - $(date + \%Y \%m \%d \%H \% M \%S).txt – ursuleacv 2015-04-01 16:47:19

+0

@ursuleacv答案按預期工作。這是我的示例cron命令:'08 10 * * * mysqldump -uYeBeSis_X2 -pPASWORDTHING dbName>/var/www/yebesis/mysqly/$(date + \%Y _ \%m _ \%d _ \%I _ \%M _ \% p)_yebesis.sql' – caglaror 2017-11-21 08:13:42

5

我需要創建每次執行命令新的日誌文件。所以我每天應該有一個日誌這樣/home/me/Logs/power_20151230.logcrontab行,我用的是這個:

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

注意下劃線也必須進行轉義。

1

必須逃脫的格式和使用評價

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