2014-05-07 18 views
3

我有一個使用MySQL數據庫的項目。我想備份每天的數據庫,所以我用這個:有時間戳的Mysql轉儲

mysqldump -h host -u user -p password database > 'location.sql' 

我要將這些文件時間戳來命名,即:

今天,該文件將被命名爲something-07-05-2014 08-00-00
明天會, something-08-05-2014 08-00-00

如何在導出的文件名後附加格式化的時間戳?

+2

這不是一個MySQL的問題,這對任何批處理腳本語言使用(窗口,慶典,PERL,Python中的問題, ...) –

+0

我從Windows命令行或Linux終端執行這個腳本,都給出了相同的結果。我的問題是如何通過mysqldump工具轉儲MySQL數據庫時包含時間戳 – Ayman

+1

您指定的文件名不在mysqldump工具的控制之下。你的問題與MySQL以及環境_where_和_how_運行這一切無關。 –

回答

7

你可以做

mysqldump -h host -u user -p password database > something-$(date +%d-%m-%Y %H %M %S).sql 
+0

你在做什麼外殼?它似乎不適用於'cmd'或PowerShell。 – alroc

+2

在Bash中也不起作用。命令'date +%d-%m-%Y%H%M%S'需要引用@Pranav的答案。 –

+0

此外,一旦日期格式排序,'mysqldump'返回語法錯誤,'-bash:意外標記附近的語法錯誤'.sql''轉義似乎沒有幫助。 'echo'命令返回預期的結果。 'echo something - $(date「+%d-%m-%Y%H%M%S」)。sql'>「something-28-10-2014 10 11 29.sql」 –

8

您可以使用類似這樣

mysqldump -h host -u user -p password database > $(date "+%b_%d_%Y_%H_%M_%S").sql