Saa*_*hib 2 server ssh bash rsync
好吧,最近我一直面临着奇怪的行为。我有一个小的 bash 脚本,它只是远程获取 mysql 转储,然后将数据存储在服务器本身上,然后再同步到备份服务器。
#!/bin/sh
/usr/bin/ssh -p 82001 user@remotehost "mysqldump -u db_user -pSomePass mydb" | gzip -c > /sql/mybackup.sql.gz
Run Code Online (Sandbox Code Playgroud)
但是我看到文件是在 /sql 下的本地服务器上创建的,而不是在远程服务器上创建的。
这是否意味着 mysqldump 正在远程服务器上工作,然后数据通过网络通过管道传输到这台本地机器,然后压缩并存储在此处所需的文件中......而不是远程?
管道符号后面的命令在gzip -c > /sql/mybackup.sql.gz
本地机器上运行。
你应该使用
/usr/bin/ssh -p 82001 user@remotehost "mysqldump -u db_user -pSomePass mydb | gzip -c > /sql/mybackup.sql.gz"
Run Code Online (Sandbox Code Playgroud)
例子:
% ssh user@host "echo remote" | echo local
local
user@host's password:
% ssh user@host "echo remote | echo local"
user@host's password:
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
259 次 |
最近记录: |