2核1G3M服务器88一季度

腾讯云,阿里云百度云等 折扣价→点我←

Discuz!网站Linux下用rsync在不同服务器之间备份数据脚本[AMH kangle环境下实测] discuz 教程

游客1 游客组

[indent]1、参考图
[/indent]http://p9.pstatp.com/large/1b7400005b8ba562d9c4

http://p2.pstatp.com/large/1b7600005c14488b3c31
[indent]2、参考脚本
[/indent]#!/bin/bash
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
# 备份服务器的IP
server="192.168.50.100"
# 备份服务器的SSH用户账号
user="rsync_user"
# 备份服务器的SSH服务端口号
port=50000
SSH="ssh -p $port -l $user -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no"
# 避免同时启动同一个脚本多次的锁文件
lock_file="/opt/rsync/lock"
# 需备份的源目录
sync_dir="/opt/source/sync"

function rsync_data()
{
local i
local n
local ret
n=`ls $sync_dir | wc -l`
if [ $n -ge 1 ]; then
echo "Info: $n files need rsync"
rsync -az -e "$SSH" $sync_dir $server:~/ 2>/dev/null
ret=$?
if [ $ret -eq 0 ]; then
for i in `ls $sync_dir`
do
$SSH $server "mv ~/sync/$i ~/backup/data" 2>/dev/null
if [ $? -eq 0 ]; then
rm -f "$sync_dir/$i"
fi
done
else
echo "Error: rsync return $ret"
ret=1
fi
else
echo "Info: no file need rsync"
ret=0
fi
return $ret
}
if [ -f $lock_file ]; then
pid=`cat $lock_file`
if ps -p $pid > /dev/null ; then
exit 0
fi
fi
echo $$ > $lock_file
# 同步数据
rsync_data
# 删除锁文件
rm -f $lock_file
exit 0

站长窝论坛版权声明 1、本帖标题:Discuz!网站Linux下用rsync在不同服务器之间备份数据脚本[AMH kangle环境下实测]
2、论坛网址:站长窝论坛
3、站长窝论坛的资源部分来源于网络,如有侵权,请联系站长进行删除处理。
4、会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。
5、站长窝论坛一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
6、本帖由游客1在站长窝论坛《程序综合区》版块原创发布, 转载请注明出处!
评论
最新回复 (0)
返回
发新帖