首页 > 代码库 > centos rsync 配置

centos rsync 配置


Rsync:

rsync 优点:
增量备份,支持socket,集中备份
缺点:
大量小文件同步的时候,比对时间较长,有的时候,rsync
进程会停止

同步大文件,10G这样的大文件有时也会有问题
中断,未完整同步前,是隐藏文件

rsync -avz /etc/hosts /tmp/ (相当于cp -a 命令)

rsync -avz --delete /null/ /tmp/
(null 目录有啥,tmp目录就有啥,2者内容是一样的)


rsync 推到远端 2 台服务器都要有rsync服务,
要不然会 command not found
rsync -avzP -e ‘ssh -p 22‘ /tmp/ root@192.168.1.197:/test
(把本地的tmp目录推到远端的test目录,目录的后面的斜线要带上)

rsync -avzp -e ‘ssh -p 22‘ root@192.168.1.197:/test/ /home/rdj/test/text/
(拉取远端的 注意test目录后的斜线要带上,拷贝的是目录里面的内容)

-e 表示 指定使用隧道

rsync服务端:

useradd rsync -s /sbin/nologin -M

id rsync


mkdir /backup
chown -R rsync /backup
ls -ld /backup/
echo ‘rsync_backup:123456‘ >/etc/rsync.password

chmod 600 /etc/rsync.password
ll /etc/rsync.password

 

rsync --daemon
ps -ef|grep rsync
netstat -lntup |grep rsync
lsof -i:873

加入开机自启动:
echo ‘rsync --daemon‘ >> /etc/rc.local
cat /etc/rc.local


cat /var/log/rsyncd.log

rsync 客户端:
1.创建密码文件
echo ‘123456‘ > /etc/rsync.password
chmod 600 /etc/rsync.password

2.发送文件
push: (对方要关闭873端口)
rsync [OPTION...] SRC... [USER@]HOST::DEST
rsync -avz /home/rdj/res/ rsync_backup@192.168.1.197::backup --password-file=/etc/rsync.password


推拉都是客户端操作

无差异同步 --delete 参数 (尽量少用)

如果是推:
本地有,远端就有,本地没有,删除远端

如果是拉:
远端有,本地就有,远端没有,删除本地

 


awk 取得服务器IP:
ifconfig eth0|awk -F ‘[ :]+‘ ‘NR==2 {print $4}‘


定时备份脚本:

#!/bin/bash
path=/backup
dir="`ifconfig eth0|awk -F ‘[ :]+‘ ‘NR==2 {print $4}‘`_$(date +%F)"
mkdir $path/$dir -p &&\
/bin/cp /var/spool/cron/root $path/$dir/cron_root_$(date +%F) &&\
/bin/cp /etc/rc.local $path/$dir/rc.local_$(date +%F) &&\

rsync -avz $path/ rsync_backup@192.168.1.197::backup --password-file=/etc/rsync.password

00 01 * * * /bin/sh /server/script/bakcup.sh > /dev/null 2>&1

 

 


#######################################

web 打包备份:
#最好配置文件,程序,日志 分开打包

#!/bin/bash

#打包到backup

path=/backup
ip="`ifconfig eth0|awk -F ‘[ :]+‘ ‘NR==2 {print $4}‘`"


[ ! -d $path/$ip ] && mkdir $path/$ip -p


#备份配置文件
tar zcf $path/$ip/config.tar.gz /var/spool/cron/root /etc/sysconfig/iptables /server/script
#备份程序
tar zcf $path/$ip/www_$(date +%F).tar.gz /var/www/html/
#备份日志文件
tar zcf $path/$ip/log_$(date +%F).tar.gz /app/logs/

#rsync推送
rsync -avz $path/ rsync_backup@192.168.1.197::backup --password-file=/etc/rsync.password

#删除7天以前的
find /backup -type f -name "*.tar.gz" -mtime +7|xargs rm -f

00 00 * * * /bin/sh /server/script/bak.sh > /dev/null 2>&1

centos rsync 配置