Rsync简单应用

Rsync


企业案例:rsync上机实战考试题:

某公司里有一台Web服务器,里面的数据很重要,但是如果硬盘坏了,数据就会丢失,现在领导要求你把数据在其他机器上做一个周期性定时备份。要求如下:

每天晚上00点整在Web服务器A上打包备份网站程序目录并通过rsync命令推送到服务器B上备份保留(备份思路可以是先在本地按日期打包,然后再推到备份服务器上)。

具体要求如下:

1)Web服务器A和备份服务器B的备份目录必须都为/backup。

2)Web服务器站点目录假定为(var/www/HTml)。

3)Web服务器本地仅保留7天内的备份。

4)备份服务器上检查备份结果是否正常,并将每天的备份结果发给管理员信箱(选做)。

5)备份服务器上每周六的数据都保留,其他备份仅保留180天备份(选做)。

Rsync-backup :rsync服务端


[[email protected]  ~]# rpm -qa rsync           查看是否有rsync包

rsync-3.0.6-12.el6.x86_64

[[email protected]  ~]# touch /etc/rsyncd.conf    创建配置文件

[[email protected]  ~]# vim /etc/rsyncd.conf        编辑配置文件

 

#created  by yvonne 16:30 2015-6-24   

##rsyncd.conf  start##

uid  = rsync                     指定用户uid

gid  = rsync                     指定用户组id

use  chroot = no                 用户不能切入

max  connections = 2000          指定最大连接时2000

timeout  = 600                  指定超时时间

pid  file = /var/run/rsyncd.pid      指定pid文件路径

lock  file = /var/run/rsync.lock      指定lock文件路径

log  file = /var/log/rsyncd.log       指定日志文件路径

ignore  errors                   指定报错提示:

read  only = false                 不允许只读

list  = false                      不允许列表查看

hosts  allow = 192.168.10.0/24      允许的网段

hosts  deny = 0.0.0.0/32            拒绝的网段/ip(此处不拒绝)

auth  users = rsync_backup         指定验证用户

secrets  file = /etc/rsync.password    指定密码文件名

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

[backup]

comment  = backup server  by yvonne 16:30  2015-6-24

path  = /backup                  指定备份路径

"/etc/rsyncd.conf" 23L, 516C  written

[[email protected]  ~]# mkdir /backup         创建备份目录/backup

 [[email protected] ~]# useradd rsync        创建验证用户

[[email protected]  ~]# chown rsync /backup/   更改备份目录/backup的属主为验证用户rsync

[[email protected]  ~]# ll /backup/

total 0

[[email protected]  ~]# ls -ld /backup/

drwxr-xr-x. 2 rsync root 4096 Jun 22  19:20 /backup/

[[email protected]  ~]# echo "rsync_backup:oldboy">/etc/rsync.password  创建密码文件

[[email protected]  ~]# cat /etc/rsync.password

rsync_backup:oldboy

[[email protected]  ~]# chmod 600 /etc/rsync.password       将密码文件权限改为600

[[email protected]  ~]# ls -ld /etc/rsync.password

-rw-------. 1 root root 20 Jun 22 19:23  /etc/rsync.password

[[email protected]  ~]# rsync –daemon                 启动rsync服务

[[email protected]  ~]# vim /etc/rc.local                 

#!/bin/sh

#

# This script will be executed *after*  all the other init scripts.

# You can put your own initialization  stuff in here if you don‘t

# want to do the full Sys V style init  stuff.

touch /var/lock/subsys/local

/etc/init.d/iptables stop

rsync  –daemon                      加入开机自启动

~

"/etc/rc.local" 9L, 261C  written

[[email protected] ~]#

Rsync-client :rsync客户端


[[email protected]  ~]# rpm -qa rsync    查看是否有rsync包

rsync-3.0.6-12.el6.x86_64

[[email protected]  ~]# mkdir /backup    创建备份目录/backup

 [[email protected] ~]# cd /backup/

[[email protected]  backup]# touch test    在/backup下创建文件用户测试

[[email protected]  backup]# cd

[[email protected]  ~]# echo "oldboy">/etc/rsync.password   创建密码文件

 [[email protected] ~]# chmod 600  /etc/rsync.password     将密码文件的权限改为600

[[email protected]  ~]# ll /etc/rsync.password

-rw-------. 1 root root 7 Jun 22 19:07  /etc/rsync.password

[[email protected]  ~]# rsync /backup/* [email protected]::backup  --password-file=/etc/rsync.password

[[email protected]  ~]# rsync /backup/* [email protected]::backup  --password-file=/etc/rsync.password                 推送备份文件

[[email protected]  ~]# mkdir -p /var/www/HTml       创建站点目录

[[email protected]  ~]# cd /var/www/           

[[email protected]  www]# ll

total 4

drwxr-xr-x. 2 root root 4096 Jun 22 19:13  HTml

 [[email protected] www]# tar -zcvf  /backup/`/sbin/ifconfig eth4|awk -F ‘[: ]+‘ ‘NR==2 {print $4  }‘`_var_www_HTml_`date +%F`.tar.gz HTml/          打包( ip_name_date)

HTml/

[[email protected]  www]# ls /backup/                   查看打包成功

192.168.10.104_var_www_HTml_2015-06-22.tar.gz  test

[[email protected]  www]# mkdir -p /server/scripts       

[[email protected]  www]# vim /server/scripts/tar.sh         编写打包脚本

#print  for tar /var/www/HTml backup by yvonne 16:46 2015-6-24.

cd  /var/www/ &&\

tar  -zcf /backup/`/sbin/ifconfig eth4|awk -F ‘[: ]+‘ ‘NR==2 {print $4  }‘`_var_www_HTml_`date +%F`.tar.gz HTml/

~

~

"/server/scripts/tar.sh" [New]  3L, 192C written

[[email protected]  www]# /bin/sh /server/scripts/tar.sh     全路径执行

HTml/

[[email protected]  www]# ls /backup/

192.168.10.104_var_www_HTml_2015-06-22.tar.gz  test

[[email protected]  www]# rsync /backup/* [email protected]::backup  --password-file=/etc/rsync.password                 推送备份文件

[[email protected]  www]# vim /server/scripts/backup.sh   写入脚本

#print  for push backup files to rsync-server by yvonne 16:50 2015-6-24.

/bin/sh  /server/scripts/tar.sh &&\                    先执行tar脚本打包

rsync  /backup/* [email protected]::backup  --password-file=/etc/rsync.password

~                                               再执行备份脚本

~

"/server/scripts/backup.sh"  [New] 3L, 196C written

[[email protected]  www]# /bin/sh /server/scripts/backup.sh   执行脚本

HTml/

 [[email protected] www]# crontab –e                     写入定时任务

no crontab for root - using an empty one

#print  for backup HTml files to backup-server everyday 00:00 by yvonne 16:55  2015-6_24.

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

~

"/tmp/crontab.4JQ20E" 3L, 153C  written

crontab: installing new crontab

[[email protected] www]#

[[email protected] www]#

[[email protected]  www]# crontab –l       查看定时任务

#print for backup HTml files to  backup-server everyday 00:00 by yvonne 16:55  2015-6_24.

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

 

[[email protected]  www]# find /backup/ -type f -mtime +7 -name "*.tar.gz"  保留7天内的

[[email protected]  www]# find /backup/ -type f -mtime -7 -name "*.tar.gz"  删除7天内的ok

/backup/192.168.10.104_var_www_HTml_2015-06-22.tar.gz

[[email protected]  www]# find /backup/ -type f -mtime +7 -name "*.tar.gz" |xargs rm  -rf

[[email protected]  www]# vim /server/scripts/reserve.sh         写入脚本

#print  for reserve backup files in 7 days by yvonne 16:55 2015-6-24.

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

~

"/server/scripts/reserve.sh"  [New] 2L, 133C written

[[email protected]  www]# /bin/sh /server/scripts/reserve.sh    执行脚本

[[email protected]  www]# crontab –e      写入定时任务

#print for backup HTml files to  backup-server everyday 00:00 by yvonne 16:55  2015-6_24.

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

#print  for reserve backup files in 7 days =it‘s monday to do it by yvonne 17:00  2015-6-24.

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

~

"/tmp/crontab.rK7RPc" 6L, 308C  written

crontab: installing new crontab

[[email protected]  www]# crontab –l    查看定时任务

#print for backup HTml files to  backup-server everyday 00:00 by yvonne 16:55  2015-6_24.

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

#print for reserve backup files in 7 days  =it‘s monday to do it by yvonne 17:00 2015-6-24.

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

[[email protected] www]# cd

[[email protected]  ~]# vim /etc/mail.rc      将备份信息发送给管理员邮箱

# This is the configuration file for  Heirloom mailx (formerly

# known under the name "nail".

+++原来的配置内容省略++++

在后面追加一下内容

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

set  [email protected] smtp=smtp.163.com

set  [email protected] smtp-auth-password=huang123  smtp-auth=nologin

"/etc/mail.rc" 73L, 2106C  written

[[email protected] ~]#

[[email protected]  ~]# mail -s "test the smtp mail" [email protected]

备注:关于发送邮件详细信息请参考:

http://www.4wei.cn/archives/1001468

Linux mail/mailx命令使用外部smtp(网易163的SMTP)来发送邮件

http://blog.csdn.net/gdpencil/article/details/6048628

linux下实现每天自动发送服务器日志到邮箱(使用sendmail)

关于“5)备份服务器上每周六的数据都保留,其他备份仅保留180天备份(选做)。”欢迎大家给出可行方案。

时间: 2024-10-11 02:21:18

Rsync简单应用的相关文章

rsync简单的使用方法

rsync 一.什么是rsync rsync,remote synchronize顾名思意就知道它是一款实现远程同步功能的软件,它在同步文件的同时,可以保持原来文件的权限.时间.软硬链接等附加信息. rsync是用 "rsync 算法"提供了一个客户机和远程文件服务器的文件同步的快速方法,而且可以通过ssh方式来传输文件,这样其保密性也非常好,另外它还是免费的软件. rsync 包括如下的一些特性: 能更新整个目录和树和文件系统: 有选择性的保持符号链链.硬链接.文件属于.权限.设备以

Rsync简单的同步配置

操作系统两台:VM #Version: CentOS Linux release 7.3.1611 (Core) #Kernel: Linux 3.10.0-514.10.2.el7.x86_64 #Architecture: x86-64 #IP_Add:172.21.93.228 #IP_Add:172.21.93.229 服务端配置 Rsync版本: 安装:直接yum install rsync [[email protected] ~]# rsync --version rsync  v

rsync简单配置及实现

rsysnc的工作模式 工作中常用第三种工作方式,并且为了不让备份服务器产生压力,使用push方式进行备份. 第一种方式举例: rsync -avz /etc/hosts /tmp/      #相当于cp /etc/hosts /tmp/ rsync -avz --delete /null/ /tmp/  #相当于rm -rf /tmp/* 第二种方式举例: rsync -avzP -e 'ssh -p 22' /tmp [email protected]:/tmp   #push方式 rsy

rsync简单安装和配置

Rsync安装配置 昨天由于部门研发同事要做个小项目,要我提供一份rsync的安装配置文档,就简单了写了份,顺便发出来了. 1,        测试环境: CentOS release 5.8 2.6.18-308.el5 x86_64 IP_S: 192.168.104.137 IP_C: 192.168.104.138 2,        安装: 查看了一些online的服务器,跟测试环境相同,默认安装rsync3.0.6. yum安装就一条命令:  yum –y install rsync

[svc]rsync简单部署

安装rsync服务端-backup服务器 yum install rsync -y useradd rsync -s /sbin/nologin -M chown -R rsync.rsync /data cat >/etc/rsyncd.conf<<EOF uid = rsync gid = rsync use chroot = no max connections = 100 timeout = 300 pid file = /var/run/rsyncd.pid lock file

Linux下rsync的安装及简单使用

一.RSYNC安装源码安装:到rsync官网下载rsync源码安装包,上传到服务器上,或者wget下载.解压rsync源码安装包进入解压后的目录,执行 ./configure --prefix=/usr/local/rsync 编译配置完成后,执行 make && make install 进入安装目录下的/bin目录.执行 ./rsync -h 完成源码安装设置rsync开机自启,在/etc/rc.local文件追加将rsync加入环境变量重新加载环境变量 source /etc/pro

rsync实现文件备份同步(比如服务器镜像)

[rsync实现网站的备份,文件的同步,不同系统的文件的同步,如果是windows的话,需要windows版本cwrsync] 一.什么是rsync rsync,remote synchronize顾名思意就知道它是一款实现远程同步功能的软件,它在同步文件的同时,可以保持原来文件的权限.时间.软硬链接等附加信息. rsync是用 “rsync 算法”提供了一个客户机和远程文件服务器的文件同步的快速方法,而且可以通过ssh方式来传输文件,这样其保密性也非常好,另外它还是免费的软件. rsync 包

centos下Rsync文件备份服务快速配置

rsync简单快速配置 rsync 可实现全量以及增量的本地或远程数据备份.一个rsync相当于scp,cp,rm但优于他们每一个命令,因为rsync是一款如此有用的软件,所以很多Linux的发行版本都将它收录在内了. 当然也可以到官方rysnc的官方网站:http://rsync.samba.org/从上面得到最新的版本. 安装方法无外乎那几种 yum install rsync -y  或者从网站获取到gz包进行编译安装. 1.rsync服务端文件配置. 默认他的配置文件是不存在的所以需要自

linux下文件同步利器rsync

rsync rsync是linux下的数据备份工具,支持远程同步.本地复制. 这是一篇rsync简单的使用文章,很多rsync的认识不足,更多的rsync知识请 到rsync官网研读:https://rsync.samba.org/how-rsync-works.html rsyrsync是系统自带的(至少2.6内核是这样的),如果不是自己编译的内核应该是自带. 检查一个安装 rpm -qa | grep rsync 如果没有安装,自己下载rpm包或者使用yum安装,这里就不演示. 配置rsyn