簡體   English   中英

從 Java 和 Shell 運行 cmd 時在 Mysqldump 中添加日期

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM