码迷,mamicode.com
首页 > 其他好文 > 详细

rsync定时备份案例

时间:2016-07-14 19:37:22      阅读:166      评论:0      收藏:0      [点我收藏+]

标签:web服务器   文件夹   配置文件   start   rsync   

案例

每晚00整在Web服务器A上打包备份系统配置文件、文件程序目录及访问日志并通过rsync命令推送到服务器B上备份保留(备份思路可以是先在本地按日期打包,然后再推送到B上),web服务器打包后保留7天,备份服务器保留6个月

192.168.88.72--A---web服务器

192.168.88.67--B---备份服务器


mkdir /var/html/www /app/logs -p   //在72创建2个文件夹,注:www为服务站点目录,logs为72访问日志路径

yum install rsync      //分别在两台机器安装rsync

一、创建rsync配置文件(服务端67)

vi /etc/rsyncd.conf    //创建rsync配置文件,输入以下内容


#rsync_config_______________start

##rsyncd.conf start##

uid = rsync

gid = rsync

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

ignore errors

read only = false

list = false

hosts allow = 192.168.88.0/24

hosts deny = 0.0.0.0/32

auth users = rsync_backup

secrets file = /etc/rsync.password


[backup]

path = /backup

#rsync_config_______________end

  

:wq   //保存退出

mkdir /backup -p   //创建backup目录

useradd rsync   //创建rsync用户

chown -R rsync.rsync /backup/   //为backup授权

rsync --daemon   //启动服务

lsof -i :873    //检查服务是否启动

echo  "rsync_backup:oldboy" >>/etc/rsync.password  //创建密码文件,注:rsync_backup、/etc/rsync.password必须与配置文件内容一致(建议剪贴信息),oldboy为密码

chmod 600 /etc/rsync.password   //为密码文件设置权限为600



二、客户端配置密码文件192.168.88.72(客户端72)

echo  "oldboy" >>/etc/rsync.password  //创建密码文件,注:rsync_backup、/etc/rsync.password必须与配置文件内容一致(建议剪贴信息),oldboy为密码

chmod 600 /etc/rsync.password   //为密码文件设置权限为600

mkdir /backup -p   //创建backup目录

rsync -avz  /backup/ rsync_backup@192.168.88.67::backup    --password-file=/etc/rsync.password    //测试是否可以推送,然后再67查看backup目录是否推送成功


三、在客户端创建脚本和定时任务(客户端72)

mkdir /server/scripts   //创建存放脚本目录

cd  /server/scripts     //进入存放脚本目录

1、写脚本(功能:打包、推送、添加成功标识、删除7天之后的压缩包)

vi bak.sh   //常见打包脚本,填写以下内容


#!/bin/sh

ip=$(ifconfig eth0|sed -n ‘2p‘|awk -F "[ :]+"  ‘{print $4}‘)

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

cd /backup/$ip &&\

tar zcf bak_$(date +%F).tar.gz /var/www/html/ /app/logs/access_$(date +%F -d ‘-1day‘).log /var/spool/cron/ /etc/

rsync -az  /backup/ rsync_backup@192.168.88.67::backup    --password-file=/etc/rsync.password && touch ${ip}_flag_$(date +%F)

rsync -az  /backup/ rsync_backup@192.168.88.67::backup    --password-file=/etc/rsync.password

find /backup -type f -name "*.tar.gz" -mtime +7|xargs rm -f


:wq  //保存退出

 查看两台服务器backup目录下是否有以IP建立的目录


2、定时任务

crontab -e   //创建定时任务,添加下边一句


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


四、在服务端创建脚本和定时任务(服务端67)

保存60天后删除

mkdir /server/scripts   //创建存放脚本目录

cd  /server/scripts     //进入存放脚本目录

1、vi bak.sh    //创建脚本,添加下边一句


find /backup/ -type f -name "*.tar.gz" -mtime +180|xargs rm -f   //删除6个月的压缩包


2、定时任务

crontab -e   //创建定时任务,添加下边一句


00 00 * * 6  /bin/sh /server/scripts/bak.sh >/dev/null 2>&1   //每周六执行脚本



五、定时纪录备份结果检查

1、vi /rsyncup.sh   //创建脚本,添加下边一句


/usr/bin/du -sh /backup/* >>/tmp/rsyncup.log    //将定时纪录备份结果检查写入rsyncup.log


2、crontab -e   //创建定时任务,添加下边一句


00 00 * * 1 /bin/sh /server/scripts/rsyncup.sh >/dev/null 2>&1  //每周一执行脚本





注:此内容均为自学笔记,纪录较随意,仅供参考,谢谢;


本文出自 “11104762” 博客,请务必保留此出处http://11114762.blog.51cto.com/11104762/1826453

rsync定时备份案例

标签:web服务器   文件夹   配置文件   start   rsync   

原文地址:http://11114762.blog.51cto.com/11104762/1826453

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!