我想轉儲我的MySQL數據庫並使用rsync
進行每日備份。如何讓rsync從STDIN讀取SRC?
我想出的第一種方法就像mysqldump -ufoo -pbar baz > /var/tmp/baz.sql && rsync /var/tmp/baz.sql /backup/ && rm /var/tmp/baz.sql
。
然後我開始懷疑是否可以不使用臨時文件/var/tmp/baz.sql
,而是將mysqldump
的輸出直接輸出到rsync
。
更具體地說,我想要的與我們用來更新Ubuntu中apt的GPG密鑰的命令行非常相似:gpg --export --armor CE49EC21 | sudo apt-key add -
,其中管道接收器支持此'-
'參數指示它會從stdin
閱讀。我想rsync
沒有類似的論點。但是我想知道是否有解決方法。
如果'/ backup /'是一個本地路徑,爲什麼不直接寫入'/ backup/baz.sql'? – tripleee
你應該使用librsync(http://librsync.sourcefrog.net/doc/librsync.html#io-callbacks)來實現它。 – ArtemGr