我正在尝试从防火墙后面进行远程备份。将其分解为在 crontab 中调用的自己的脚本确实没有问题,但这一点也不好玩!我想做什么:
pg_dump -U my_user my_database | ssh me@myserver "> backup.sql"
是备份一个 postgresql 数据库(将所有内容转储到 stdout)并将其重定向到一个远程 ssh 命令,该命令只是将它放在 backup.sql 中。
不幸的是,我得到的只是远程盒子上的一个空的“backup.sql”。重定向不是我的强项,所以任何提示将不胜感激。谢谢。
更好的是:在 SSH 之前压缩它:
这可以通过 SQL 转储节省大量带宽。
我实际上是反过来做的。我已将备份服务器登录到要备份的服务器。这意味着,如果任何一台服务器(除了备份服务器,它具有严重的法西斯安全性)在根级别受到损害,备份服务器 - 以及所有其他服务器!- 默认情况下不会受到影响。
因此,我远程执行 SQL 转储的命令有点不同:
特别注意引号的位置——它们定义了在远程端执行什么以及在本地执行什么。
尝试