[英]linux bash script log output
我無法在腳本中將輸出輸出到日志文件中。 備份成功運行,但是日志文件為空。 當我運行腳本時,出現“警告:在命令行界面上使用密碼可能不安全”。 因此至少應該在日志文件中。 (我正在使用.key文件)
mysqldump -u root -p$Pass --all-databases | gzip > fulldbdmp-$(date +%m%d%Y).dump.gz 2> file.log
我同意這個答案,但似乎需要添加另一個參數( -v )以啟用詳細輸出,例如mysqldump -v -u root -p$Pass --all-databases 2>file.log | gzip > fulldbdmp-$(date +%m%d%Y).dump.gz
mysqldump -v -u root -p$Pass --all-databases 2>file.log | gzip > fulldbdmp-$(date +%m%d%Y).dump.gz
。
那是因為,只有gzip執行過程中的錯誤才會進入文件。 要獲得想要的東西,請使用-
mysqldump -u root -p$Pass --all-databases 2>file.log | gzip > fulldbdmp-$(date +%m%d%Y).dump.gz
您可以在終端上看到錯誤消息的事實意味着它不會進入日志文件。
正如其他人提到的那樣,您是從管道的gzip
元素而不是mysqldump
元素重定向stderr。
如果您將pipline視為一系列元素,則可能會清楚發生了什么事情:
mysqldump -u root -p$Pass --all-databases
gzip > fulldbdmp-$(date +%m%d%Y).dump.gz 2> file.log
您可能在此之后:
mysqldump -u root -p$Pass --all-databases 2> file.log
gzip > fulldbdmp-$(date +%m%d%Y).dump.gz
變成:
mysqldump -u root -p$Pass --all-databases 2> file.log \ |
gzip > fulldbdmp-$(date +%m%d%Y).dump.gz
旁注:我強烈建議您不要忽略以下警告。 在那里是有原因的。 請參閱6.1.2.1最終用戶密碼安全准則
警告:在命令行界面上使用密碼可能不安全
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.