首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ssh远程命令-fu

ssh远程命令-fu
EN

Server Fault用户
提问于 2009-07-13 15:26:30
回答 2查看 8.6K关注 0票数 2

我试图从防火墙后面做一个远程备份。把它分解成它自己的脚本,在crontab中被调用是没有问题的,但是这一点也不好玩!我想做的是:

代码语言:javascript
复制
pg_dump -U my_user my_database | ssh me@myserver "> backup.sql"

是备份postgresql数据库(将所有内容转储到stdout),并将其重定向到远程ssh命令,该命令只将其放置在backup.sql中。

不幸的是,我得到的只是我的遥控器上一个空的"backup.sql“。重定向不是我的优点,所以任何建议都会被感激。谢谢。

EN

回答 2

Server Fault用户

回答已采纳

发布于 2009-07-13 15:27:55

试一试

代码语言:javascript
复制
pg_dump -U my_user my_database | ssh me@myserver "cat > backup.sql"
票数 8
EN

Server Fault用户

发布于 2009-07-13 17:25:22

更好的是:在SSH之前压缩它:

代码语言:javascript
复制
pg_dump -U my_user my_database | gzip -c | ssh me@myserver "cat > backup.sql.gz"

这节省了大量使用SQL转储的带宽。

我实际上是用相反的方式来做的。我已经将备份服务器登录到要备份的服务器中。这意味着,如果任何一台服务器(除了具有严重法西斯主义安全性的备份服务器之外)在根级被破坏,备份服务器--以及所有其他服务器--默认不会受到破坏。

因此,我远程执行SQL转储的命令有点不同:

代码语言:javascript
复制
ssh <server> "pg_dump -U <user> <database> | gzip -c" > /backups/sqlbackup.sql.gz

特别要注意引号在哪里--它们定义在远程端执行什么以及在本地执行什么。

票数 12
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/39931

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档