文件内容:
rsync -arz /export/apps/ /share/apps/
保存为 rs.sh
2.利用crontab定时运行脚本
# crontab -u root -e /加入定时任务
*/5 * * * * /root/rs.sh /每五分钟执行一次
# crontab -u root -l /查看定时任务
————————————
/share/apps/ 相当于/export/apps/的文件镜像,在/export/apps/里增加修改文件,过5分钟后自动同到镜像目录里。当然你也可以手动运行rs.sh来实现及时同步。
1.进入WinSCP软件,点击下图中红色方框选中的位置【同步】点击它。2.点击后设置一下文件同步远程和本地文件夹,如果同步到本地,就选择本地,这里别选错了,要是选错了,可能导致出现毁灭性的后果。
3.设置完成后点击确定,然后会弹出下面图中的弹窗,比较远程目录与本地目录,如果文件夹中的文件比较多,这个过程可能会持续比较长的时间。
4.分析比较完成后会出现一个比较结果,这个结果将会显示哪些文件需要更新,哪些文件是本地没有的需要重新新建。
5.勾选需要同步的文件,然后点击右侧的确定按钮。
6.点击后就出现下方的弹窗,提示开始下载,这个时候只需要看同步后的结果就可以了。
Rsync非常适合在两台机器之间快速同步大型、复杂的目录,例如论坛的附件目录。再配合
ssh
,则安全性也有保证,且可以利用
ssh
public
key
和
cron
来进行自动定时同步。
说明:两台机器分别为
localhost
和
remotehost
用户分别为
localuser
和
remoteuser。
环境:FreeBSD
4.9
和
FreeBSD
6.1
代码如下
设置
ssh
public
key
认证
$ssh-keygen
-t
dsa
-b
2048
生成所需的密钥
$scp
/home/localuser/.ssh/id_dsa.pub
remoteuser@remotehost:/home/remoteuser/.ssh/localuser_id_dsa.pub
将公钥拷贝至
remotehost
$ssh
remoteuser@remotehost
登录到?端
代码如下
$cd
.ssh/
cat
localuser_id_dsa.pub
>>
authorized_keys
至此,设置
ssh
认证完毕。
设置
rsync
确认两端机器都安装
rsync
,
freeBSD
有
ports
,安装非常方便。
写个脚本名为
backup.sh
,内容如下:
代码如下
#!/bin/sh
RSYNC=/usr/local/bin/rsync
SSH=/usr/bin/ssh
KEY=/home/localuser/.ssh
/id_rsa
RUSER=remoteuser
RHOST=remotehost
RPATH=/remote/dir
LPATH=/this/dir
$RSYNC
-az—delte
-e
“$SSH
-i
$KEY”
$RUSER@$RHOST:$RPATH
$LPATH
-a
选项相当于选项
-rlptgoD
。简单来讲,此选项可递归并将几乎所有的东西同步过去,非常有用。注意的是,
-a
默认不会保存
hardlinks
,不过可以单独用
-H
选项来实现。
-z
选项在传输中压缩文件,这无疑加快同步速度。
-delete
选项会删除接受方一些不应存在的文件,此文件在发送方已经被删除,这将保持目录完全同步。
让
cron
每天凌晨1点来跑这个脚本
代码如下
$crontab
-e
0
1
*
*
*
/home/localuser/bin/backup.sh
友情提示
rsync是没有自动启动同步功能了,如果我们要定时去备份一个网站数据我们就需要用到定时功能了,上面的例子来使用到了linux中$crontab命令来定时执行备份数据脚本了哦。
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)