gzippipe道输出到ssh命令中

我通过ssh做这样的备份:

mysqldump -u dbuser -pXXXXXXXX dbname | ssh -i ~/.ssh/id_rsa_backup [email protected] 'cat > /var/backups/services/my_service/db/$(date +"%Y-%m-%d").sql' 

如何发送gziped数据来保存带宽和磁盘空间?

添加到〜/ .ssh / config ssh将在飞行中gzip 🙂

http://linux.die.net/man/5/ssh_config获取更详细的选项

 Host * Compression yes # from 1 (fast) to 9 (slow, best). The default level is 6 # CompressionLevel 9 # ServerAliveInterval 15 # ServerAliveCountMax 3 # KeepAlive yes Host bak-serv Hostname my.server.com IdentityFile ~/.ssh/id_rsa_backup User backup # Port 22 

用你的命令,你得到一个sql.gz在最后不是一个普通的sql文本文件。

 mysqldump -u dbuser -pXXXXXXXX dbname \ | gzip | cat | ssh -i ~/.ssh/id_rsa_backup [email protected] \ 'cat > /var/backups/services/my_service/db/$(date +"%Y-%m-%d").sql.gz' 

 mysqldump -u dbuser -pXXXXXXXX dbname \ | ssh bak-serv \ | gzip -c > /var/backups/services/my_service/db/$(date +"%Y-%m-%d").sql.gz