Linux Crontab + rsync 实现远程备份

本文介绍如何使用rsync在局域网内进行远程文件备份,包括安装配置、设置密码文件、防火墙端口开放及服务启动等步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

公司图片服务器上的资源比较多了,考虑到容灾问题,特把资源进行跨机房,跨网段远程文件备份。在网上找到了 rsync 这款软件,它能帮我解决问题。现在把我在局域网的配置方法进行了整理,分享如下:

主机:192.168.190.199
备机:192.168.190.208
[b]配置操作步骤:[/b]
[color=red]备机[/color]
1.服务器是否安装rsync
 rpm -qa|grep –i rsync

若有显示,说明已安装
[img]http://dl.iteye.com/upload/attachment/0073/6938/f6f4a9c0-29f9-381f-8b6e-0fd88ea8b8df.png[/img]
2.安装rsync软件
有两种安装方式:
a.利用 yum 安装
yum install rsync xinetd 

查看是否自己配置了yum (如果没有,问 google)
b.源码安装
下载源码自己编译
[url]http://rsync.samba.org/ftp/rsync/rsync-3.0.9.tar.gz[/url]

cd rsync-3.0.9
./configure
make && make install

3.配置rsyncd.conf
安装完 rsync 服务,这个文件默认是没有的需要自己手动创建一个。

vi /etc/rsyncd.conf

#主要全局参数
uid = root
gid = root
use chroot = yes #为了安全考虑,让rsync运行于chroot环境
log file = /var/log/rsyncd.log #rsync的日志文件
pid file = /var/run/rsyncd.pid #rsync的pid文件
hosts deny = * #除了允许的之外,默认禁止访问


[picData]
comment = backup for picServer
path = /home/Gzh/rsyncBak
read only = no
auth users = Gzh
secrets file = /etc/rsync.pass
hosts allow = 192.168.190.199,127.0.0.1

:wq!

[img]http://dl.iteye.com/upload/attachment/0073/6940/295bb824-21df-3b87-9541-6c421cd5d20c.png[/img]
4.配置密码文件 rsync.pass

vi /etc/rsync.pass
Gzh:123456

格式:用户名:密码([color=red]用户名必须系统真是存在的用户,密码最好不要个系统密码一致[/color])
[img]http://dl.iteye.com/upload/attachment/0073/6942/f549c49b-5bae-36de-b80a-af50a526ea7d.png[/img]
5.修改 rsync.pass 和rsyncd.conf 权限
这个两个文件必须是 600 不然服务不读

chmod 600 /etc/rsync.pass
chmod 600 /etc/rsyncd.conf

6.开启防火墙tcp 873端口

vi /etc/sysconfig/iptables
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 873 -j ACCEPT
:wq

7.启动rsync 服务
启动服务有两种方式:
a.使用rsync的–daemon选项启动,rsync服务默认使用873号端口
启动:rsync –daemon
关闭:pkill rsync
lsof –i:873 (检查服务是否启动)
[img]http://dl.iteye.com/upload/attachment/0073/6944/450eefbb-19d1-3067-a821-816fbe704eae.png[/img]
b.xinetd守护
修改/etc/xinetd.d/rsync文件,把
disable = yes
改成
disable = no
然后重启xinetd即可,
/etc/init.d/xinetd restart
[img]http://dl.iteye.com/upload/attachment/0073/6951/71da776c-8b06-3f0a-bbcd-45765605a52e.png[/img]
[color=red]服务[/color]
service xinetd start #启动
service xinetd stop #停止
service xinetd restart #重新启动
如果你的xinetd开机并没自动启动的话,需要执行
chkconfig xinetd on
到此rsync 服务已经配置完成
[color=red]主机:[/color]
1.配置密码文件rsync.pass
vi /home/Gzh/shell/rsync.pass
123456
:wq

这个里面只配置密码
修改文件的权限 600
2.执行命令
/usr/bin/rsync -vzrtopg --password-file=/home/Gzh/shell/rsync.pass /home/Gzh/shell Gzh@192.168.190.208::picData
执行成功
[img]http://dl.iteye.com/upload/attachment/0073/6946/f0b810db-c368-3d36-82a5-28575eecdf64.png[/img]
3.备份脚本

#!/bin/sh
#command
rsync=/usr/bin/rsync
echo=/bin/echo

#backup server info
remote_host=Gzh@192.168.190.208
remote_path=picData

#backup
backup_path="/home/Gzh/shell"
#passFile
passfile_path="/home/Gzh/shell/rsync.pass"

for path in $backup_path;
do
date=`date "+%D %H:%M:%S"`
$echo "--- Start Backup $path $date ----"
$echo "$rsync -vzrtopg --password-file=$passfile_path $path $remote_host::$remote_path"
$rsync -zrtopg --password-file=$passfile_path $path $remote_host::$remote_path
date=`date "+%D %H:%M:%S"`
$echo "--- End Backup $path $date ----"
done

这样就可以实现远程备份了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值