[英]Add date in Mysqldump when running cmd from Java and Shell
我想在使用 mysqldump 進行備份時在文件名中附加日期。 我將命令存儲在屬性文件中並通過 ProcessBuilder 和 shell 腳本運行它。 我嘗試了多種添加日期的方法(順便說一句,這里的所有答案僅當我們直接在 linux 中運行命令時)
mysqldump -u <user> -p <database> | gzip > <backup>$(date +%Y-%m-%d-%H.%M.%S).sql.gz
mysqldump -u <user> -p <database> | gzip > <backup>$(date +%Y-%m-%d-%H.%M.%S).sql.gz
得到錯誤:沒有找到“+%Y-%m-%d-的表” %H.%M.%S”
mysqldump -u root -ppassword dbName --result-file=/opt/backup/`date -Iminutes`.dbName.sql
得到錯誤:unknow option -I
有沒有辦法在命令本身中添加日期? 我無法在 java 方法或 shell 腳本中附加日期。
我無法從您的問題中判斷您是否在 shell 中運行。 如果是這樣,請嘗試使用這三行來生成您的備份文件。
DATE=`date +%Y-%m-%d-%H.%M.%S`
FILENAME=backup${DATE}.sql.gz
mysqldump -u user -p database | gzip > ${FILENAME}
請注意您應該如何在第一行中用反引號括起 date 命令,而不是${}
,以將其結果放入 DATE shell 變量中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.