![在檔案名稱中包含當前時間戳記?](https://rvso.com/image/1466394/%E5%9C%A8%E6%AA%94%E6%A1%88%E5%90%8D%E7%A8%B1%E4%B8%AD%E5%8C%85%E5%90%AB%E7%95%B6%E5%89%8D%E6%99%82%E9%96%93%E6%88%B3%E8%A8%98%EF%BC%9F.png)
我必須使用手動建立大量資料庫備份mysqldump
,例如如下所示:
mysqldump -uroot -proot my-db > my-db.sql
我想知道是否有一種簡單的方法可以將當前日期或時間戳記包含到文件名中,以便文件看起來像這樣:(my-db-20150917.sql
或者其他格式也可以,甚至是時間戳記)。
答案1
如何為我的檔案名稱新增日期戳記?
date
若要在檔案名稱中包含目前時間/日期,請使用, 和 命令替換的組合:
mysqldump -uroot -proot my-db > my-db-`date +%Y%m%d`.sql
這man
頁面為date
解釋您可以使用的其他選項;但在這種情況下,您可能也有興趣包括時間:
mysqldump -uroot -proot my-db > my-db-`date +%Y%m%d-%H%M`.sql
等等,這個「命令替換」是什麼?
命令替換擴展到命令的輸出。這些命令在子 shell 中執行,它們的
stdout
資料是取代語法擴充的內容。
基本上,date -%Y%m%d
輸出20150917
,我們使用反引號 ( `
) 形式的命令替換來將該輸出包含在您提供的備份資料庫的命令中。我們同樣可以使用:
mysqldump -uroot -proot my-db > my-db-$(date +%Y%m%d).sql
達到同樣的結果。