Dan*_*ves 4 ssh bash backup remote scp
所以,正如我所说,我有一个 VPS、Raspberry Pi 和一个计划,但我需要一些建议,所以就这样吧。
我有一个带有 prgmr.com 的 VPS,我已经启动并运行良好且流畅,没有任何问题。我还有一个新的 RaspberryPi 放在我的桌子上,我一边打字一边下载 Raspberrian。我的计划是在家里使用树莓派作为备份服务器,所以我的问题是:
您将如何通过 SSH 备份远程 Ubuntu VPS?
VPS 设置为 Web 服务器,但我想在 Pi 上设置一个 cron 作业,以便它可以自动登录到 VPS 并运行然后下载备份,以防万一我设法阻止了事情或发生了其他事情这导致我丢失数据。自然地,我希望这个备份包含所有内容,以便我可以快速恢复整个服务器,如果出现问题,所有这些都配置得很好。
您将如何运行这种备份?我想我必须编写某种 bash 脚本到 SSH 中,将所有相关文件压缩到 tar.gz 或类似文件中,然后通过 SCP 下载图像。
你对此有何看法?你会使用什么包等,你会如何配置它?VPS 上有一个 LAMP 堆栈,那么您打算备份哪些文件?它还安装了许多其他较小的程序,例如 GIT 和 ZendTools。
您要做的第一件事是从 ssh 公钥身份验证开始。这将使您的脚本无需密码即可使用 SSH。
服务器所需的只是安装 SSH,并为将从 RasPi 运行备份脚本的用户设置公钥身份验证。
这里有一个很好的公钥认证教程:https : //hkn.eecs.berkeley.edu/~dhsu/ssh_public_key_howto.html
您可以从服务器压缩 tar.gz 并使用以下内容直接通过 ssh 传输它:
ssh root@remoteserver.example.com "tar -czvf - / 2> /var/log/sshbackup" > vpsbackup.tar.gz
Run Code Online (Sandbox Code Playgroud)
这将使 VPS tar 和 gzip 所有文件位于 / 并通过 SSH 传输以存储在 RasPi 上的 vpsbackup.tar.gz 中。最近备份的日志将保存在 VPS 上的 /var/log/sshbackup 上。
通过 SSH 发送整个 .tar.gz 是低效的......不会更改的文件仍将被传输。更好的解决方案是使用 rsync,但这使得制作保留权限的 .tar.gz 变得困难。如果您在 RasPi 上有足够的存储空间,您可以将备份文件存储为普通 ol' 文件。然后你可以有一个脚本 tar.gz 如果你想保留多个过去的备份。
服务器需要安装 rsync。这将通过 SSH 运行,因此您仍然使用公钥身份验证,并保持加密。您需要以root身份运行此命令,并为 root 启用公钥身份验证和 SSH 登录以保留权限。您的目标(或至少是临时目标)应该是 Linux 文件系统。如果您将这些备份存储在 FAT 或 NTFS 分区(例如,在大多数外部硬盘驱动器上),您可以创建一个环回文件系统(请参阅http://www.walkernews.net/2007/07/01/create-linux- loopback-file-system-on-disk-file/ ) 用于临时存储。tar.gz 文件可以存储在任何分区上,因为它自己保留权限。
一个示例 rsync 命令:
rsync -a --delete --exclude=/dev --exclude=/sys --exclude=/proc --exclude=/tmp remoteserver.example.com:/ /path/to/backup/destination/
Run Code Online (Sandbox Code Playgroud)
使用 --delete 时要小心,尤其是作为 root!它将删除目标目录中备份源上不存在的所有文件。您应该只在同步到仅用于该 VPS 的专用备份目录时使用 --delete。您还应该确保您的脚本不可能同步到错误的目的地(例如,如果 /path/to/backup/destination 由 shell 变量确定)
rsync 只会传输源和目标之间不同的文件。如果您有大文件,它也只会传输已更改的部分文件(为此,您必须添加 -c 标志)。这意味着您正在使用最小的带宽,但它会使用更多的 CPU 并减慢重新同步准备时间,因为双方需要首先校验和文件来确定要传输的块。如果您确实使用了 -c 标志并且您有大文件(例如数据库文件)和/或不稳定的连接,请考虑添加 --partial --append,它使您能够在连接中断后恢复传输。
归档时间: |
|
查看次数: |
9294 次 |
最近记录: |