在 Bash 中,使用管道(“|”符号)和 ssh 将服务器管理工具完美结合,安全可靠。
示例。
- 从本地到远程服务器的文件备份:
tar zcf - /some/directory | ssh username@server "cat > backup.tar.gz"
或者同样的事情,改用转储:
tar zcf - /some/directory | ssh username@server "dd of=filename.bz2"
- 从本地到远程服务器的输出:
echo "some text" | ssh username@example.com "cat > somefile.txt"
或者
cat ~/.ssh/id_rsa.pub | ssh username@example.com "cat >> ~/.ssh/authorized_keys"
- 将本地 mysql 数据库备份到远程服务器:
mysqldump --opt database_name | gzip -c | ssh username@example.com "cat > /remote/dir/DB_backup.gz"
或者使用 tar 备份数据库:
mysqldump | tar cf - | gzip -c | ssh username@example.com "cat > /remote/dir/DB_backup.tar.gz"
- 在远程服务器上执行命令:
ssh username@example.com "uname -a"
或者在远程服务器上执行命令但将输出保存到本地:
ssh user@example.com "mysqldump -u DB_username -pDB_password DB_name | gzip -c" > /local/dir/DB_backup.gz
“mysqldump”的“-p”参数需要紧跟在参数后面的值,不能有空格。
日期:2020-06-02 22:17:17 来源:oir作者:oir