因为我的所有工作都存储在远程服务器上,所以我想每月和每周自动备份我的服务器。我的服务器运行的是 Centos 5.5,在网上搜索时我发现了一个名为 rsync 的工具。我通过在终端中使用以下命令手动获得了第一次更新:
sudo rsync -chavzP --stats USERNAME@IPADDRES: PATH_TO_BACKUP LOCAL_PATH_TO_BACKUP
然后我提示该用户的密码,鲍勃是我的叔叔。
这会将必要的文件从我的远程服务器备份到我的本地设备,但有人知道我如何自动执行此操作吗?喜欢每周日自动运行这个脚本吗?
编辑
我忘了提及,我让管理员直接备份我需要的文件,然后将这些文件从远程服务器复制到本地服务器。
答案1
我假设您从远程服务器备份到始终启动且可访问的本地计算机。
首先在您的服务器上设置公钥身份验证。在你的远程服务器中做
~# ssh-keygen
接受默认值,不要输入任何密码,这样密钥就可以无密码工作。然后做
~# ssh-copy-id [email protected]
并给出本地服务器用户密码。测试它:
~# ssh [email protected]
您应该无密码登录。
之后,在远程服务器中添加一个执行适当 rsync 命令的 cron 作业。例如:
~# vim /etc/cron.daily/backup
#!/bin/sh
rsync -avq /sourcedir1 /sourcedir2 [email protected]:/destinationdir
~# chmod 755 /etc/cron.daily/backup
首先在不带 -q 标志的实时 shell 上测试该命令,以检查一切是否正常。 cron 作业将每晚运行。您可以将类似的脚本放在/etc/cron.weekly 等中。
您可以根据您的情况恢复整个过程并在本地计算机上设置脚本/cronjob。