rsync crond定时增量备份

rsync crond定时增量备份

安装配置环境`

Linux Debian Ubuntu系统一般都是安装好的
centos 安装rsync

[root@localhost ~] yum install rsync

配置rsync

[root@localhost ~] vim /etc/rsyncd.conf 
##全局配置			
uid = root    #用户			
gid = root    #用户组			
use chroot = no    #安全相关			
max connections = 200    #最大链接数			
timeout = 300    #超时时间			
pid file = /var/run/rsyncd.pid    #进程对应的进程号文件			
lock file = /var/run/rsync.lock    #锁文件			
log file = /var/log/rsyncd.log    #日志文件,显示出错信息

##模块配置			
[backup]            #模块名称			
path = /data      #模块对应的位置(路径)			
ignore errors       #忽略错误程序			
read only = false    #是否只读			
list = false        #是否可以列表			
hosts allow = 192.168.245.0/255.255.255.0  #准许访问rsync服务器的客户范围	白名单		
#hosts deny = 0.0.0.0/32      #禁止访问rsync服务器的客户范围			黑名单 二选一
auth users = rsync_backup    #不存在的用户;只用于认证			
secrets file = /etc/rsync.password  #设置进行连接认证的密匙文件

创建rsync备份目录/授权rsync用户管理备份目录;修改备份目录权限

[root@localhost ~] mkdir -p /data
[root@localhost ~] useradd rsync -s /sbin/nologin -M
[root@localhost ~] chown -R rsync.rsync /data/

创建认证用户密码文件;修改文件权限

[root@localhost ~] echo "rsync_backup:123456" > /etc/rsync.password
[root@localhost ~] chmod 600 /etc/rsync.password 

启动rsyncd服务并且开机启动查看服务(centos环境)

systemctl restart rsyncd.service
systemctl enable rsyncd.service
#查看服务
systemctl status rsyncd.service
● rsyncd.service - fast remote file copy program daemon
   Loaded: loaded (/usr/lib/systemd/system/rsyncd.service; enabled; vendor preset: disabled)
   Active: active (running) since 六 2020-06-13 12:23:28 CST; 6s ago
 Main PID: 64071 (rsync)
   CGroup: /system.slice/rsyncd.service
           └─64071 /usr/bin/rsync --daemon --no-detach

6月 13 12:23:28 localhost.localdomain systemd[1]: Started fast remote ...
6月 13 12:23:28 localhost.localdomain systemd[1]: Starting fast remote...

客户端部署
1.创建密码文件,客户端密码文件中,只需要密码即可。同时,密码文件的权限是600

[root@localhost ~] echo "123456">/etc/rsync.password
[root@localhost ~] chmod 600 /etc/rsync.password

2.测试客户端推送文件

[root@localhost ~] touch aaa.txt
[root@localhost ~] rsync -avz aaa.txt rsync_backup@192.168.245.180::backup --password-file=/etc/rsync.password
sending incremental file list
aaa.txt

sent 89 bytes  received 43 bytes  264.00 bytes/sec
total size is 0  speedup is 0.00

3.配置自动备份脚本
打开crontab文件,在最后一行添加备份代码

[root@localhost ~] nano /etc/crontab

root前的为cron表达式,后面为增量备份代码

  • -a, --archive 归档模式,表示以递归方式传输文件,并保持所有文件属性,等于-rlptgoD
  • -v, --verbose 详细模式输出
  • -z, --compress 对备份的文件在传输时进行压缩处理
  • -t, --times保持文件时间信息
  • -u, --update仅仅进行更新,也就是跳过所有已经存在于DST,并且文件时间晚于要备份的文件,不覆盖更新的文件

0 0 0 * * ? * root rsync -avzut 目录名 rsync_backup@服务器ip地址::backup --password-file=/etc/rsync.password

cron在线表达式生成器http://cron.ciding.cc/

rsync参数详解

v, --verbose 详细模式输出
-a, --archive 归档模式,表示以递归方式传输文件,并保持所有文件属性,等于-rlptgoD
-z, --compress 对备份的文件在传输时进行压缩处理
-P显示进度-r, --recursive对子目录以递归模式处理
-l, --links保留软链结
-p, --perms保持文件权限
-o, --owner保持文件属主信息
-g, --group保持文件属组信息
-D, --devices保持设备文件信息
-t, --times保持文件时间信息
-e, --rsh=command指定使用rsh、ssh方式进行数据同步 –exclude=PATTERN指定排除不需要传输的文件模式 –exclude-from=FILE排除FILE中指定模式的文件
-S, --sparse对稀疏文件进行特殊处理以节省DST的空间 –bwlimit=KBPS限制I/O带宽,KBytes per second –delete删除那些DST中SRC没有的文件 –password-file=FILE从FILE中得到密码
-n, --dry-run现实哪些文件将被传输
-w, --whole-file拷贝文件,不进行增量检测
-B, --block-size=SIZE检验算法使用的块尺寸,默认是700字节。
-x, --one-file-system不要跨越文件系统边界
-R, --relative使用相对路径信息
-b, --backup创建备份,也就是对于目的已经存在有同样的文件名时,将老的文件重新命名为~filename。可以使用–suffix选项来指定不同的备份文件前缀。
-u, --update仅仅进行更新,也就是跳过所有已经存在于DST,并且文件时间晚于要备份的文件,不覆盖更新的文件
-q, --quiet精简输出模式
-c, --checksum打开校验开关,强制对文件传输进行校验 –delete 实现无差异数据同步 –bwlimit=KBPS 实现数据传输过程中限速 –exclude=PATTERN 指定一个文件或目录 --exclude={file1,file2}
可以排除多个无顺序规则文件或目录 –exclude-from=FILE
指定排除多个文件或目录信息,将排除信息写入到一个文件中,利用–exclude-from=排除文件名 类似于tar 打包排除命令

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值