5

我有以下内容:

 mysqldump -u xxxx 
           -h localhost 
           --password=xxxxx databasename | 
           ssh username@00.000.00.202 "dd of=httpdocs/backup`date +'%Y-%m-%d-%H-%M-%S'`.sql"

...哪个 SSH 是远程机器的 mysqldump。

我需要在 SSH 之前压缩 mysqldump,因为转储是 500mb 并且它占用了我的带宽限额。

4

4 回答 4

10

mysqldump ... | gzip -9 | ssh ...

或者

mysqldump ... | bzip2 -9 | ssh ...

或者,如果您希望它在另一端未压缩

mysqldump ... | bzip2 -9 | ssh machine "bzip2 -d >..."

mysqldump ... | gzip -9 | ssh machine "gzip -d >..."

于 2009-09-14T14:26:23.620 回答
7

您可以-C在调用中添加标志以ssh自动压缩传输的数据。

于 2009-09-14T14:26:21.477 回答
2

您需要在 mysqldump 和 ssh 之间调用 gzip,例如:

mysqldump [mysql options] | gzip | ssh [ssh options]

我建议也将保存的文件扩展名更改为“.sql.gz”。

于 2009-09-14T14:27:53.100 回答
0

这已经被回答和接受,但我想你可能会发现这是一个有趣的选择。

Percona's OpenSource xtrabackup application will perform compressed (TAR) backups on the fly - along with lots of other interesting things.

I couldn't find an anchor on the page, but scroll down to "Compressed Backups".

于 2009-09-14T17:17:20.397 回答