千家信息网

rsync的常用命令,及实现远程备份

发表于:2024-12-02 作者:千家信息网编辑
千家信息网最后更新 2024年12月02日,rsyncrsync不但传输速度快,而且在传输时,可以比较欲复制的内容和本地端数据的差异,若有差异,则只备份有差异的数据,若无差异,则无需要备份二种工作方式:1.在本机上运行,和cp命令一样;例如:r
千家信息网最后更新 2024年12月02日rsync的常用命令,及实现远程备份

rsync

rsync不但传输速度快,而且在传输时,可以比较欲复制的内容和本地端数据的差异,若有差异,

则只备份有差异的数据,若无差异,则无需要备份

二种工作方式:

1.在本机上运行,和cp命令一样;例如:rsync -av /etc /tmp

2.通过ssh方式运行在两个主机之间;例如:rsync -av -e ssh root@192.168.50.163:/etc /tmp

常用命令:

-v:查看模式,可以列出很多信息

-q:与-v相反,安静模式,略过正常信息,只显示错误内容

-r:递归复制。可以针对目录来处理,非常重要

-u:仅更新,若目标文件较新,则保留新文件不会覆盖

-a:保留原有文件的各种属性

常用组合:

-av

示例:写一个脚本通过ssh备份远程端的数据,要通过cron一起,实现每天自动备份

#ssh-keygen -t rsa

#ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.50.163

以密钥的方式进行登陆,这样在远程备份的时候就不需要输入密码

#vim back.sh (写备份脚本)

#!/bin/bash

localdir=/tmp/backup

remotedir="/etc /boot /home"

remoteip="192.168.50.163"

[ -d ${localdir} ] || mkdir ${localdir}

for dir in ${remotedir};do

rsync -av -e ssh root@${remoteip}:${dir} ${localdir}

done

#chmod +x backup.sh(给脚本增加执行权限)

加入任务计划

#crontab -e

测试成功执行

0