我在輸入腳本中的日誌文件時遇到了問題。備份運行成功,但日誌文件爲空。當我運行腳本時,我會得到「警告:在命令行界面上使用密碼可能不安全。」所以至少應該在日誌文件中。 (我正在使用.key文件)linux bash腳本日誌輸出
mysqldump -u root -p$Pass --all-databases | gzip > fulldbdmp-$(date +%m%d%Y).dump.gz 2> file.log
我在輸入腳本中的日誌文件時遇到了問題。備份運行成功,但日誌文件爲空。當我運行腳本時,我會得到「警告:在命令行界面上使用密碼可能不安全。」所以至少應該在日誌文件中。 (我正在使用.key文件)linux bash腳本日誌輸出
mysqldump -u root -p$Pass --all-databases | gzip > fulldbdmp-$(date +%m%d%Y).dump.gz 2> file.log
那是因爲,只有你的gzip執行錯誤進入文件。爲了得到你想要的東西,用 -
mysqldump -u root -p$Pass --all-databases 2>file.log | gzip > fulldbdmp-$(date +%m%d%Y).dump.gz
我this答案達成一致,但現在看來,這是需要添加另一個參數(-v)啓用詳細輸出,如mysqldump -v -u root -p$Pass --all-databases 2>file.log | gzip > fulldbdmp-$(date +%m%d%Y).dump.gz
。
受此[本答案](https://dba.stackexchange.com/a/14307)和[官方文檔](https://dev.mysql.com/doc/refman/5.7/en/mysqldump。 html) –
非常好..我相信我沒有意識到它..謝謝。 Spasibo - Vitalik – user3508766
您可以在終端上看到錯誤消息的事實意味着它不會進入日誌文件。
正如其他人所說的,您正在重定向來自管道的gzip
元素的stderr,而不是mysqldump
元素。
如果你認爲你的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 End-User Guidelines for Password Security
警告:在命令行界面上使用密碼可以是不安全的
是的,這一切纔有意義。謝謝 – user3508766