rsync+crond定時備份(shell)

服務端操作

#!/bin/bash
echo "此腳本採用rsync實現數據定時備份"
echo "正在檢測是否安裝rsync……"
#檢測是否安裝rsync
rpm -qa | grep rsync &> /dev/null
if [ $? -eq 0 ];then
        echo " rsync 已安裝 即將自動修改配置文件"
else
        echo " rsync 未安裝,即將自動安裝 rsync……"
	yum -y install rsync &> /dev/null
	rpm -qa | grep rsync &> /dev/null
        if [ $? -eq 0 ];then
                echo " rsync 安裝成功 即將自動修改配置文件……"
        else
                echo " rsync 安裝失敗,請檢查yum源是否可用……"
        fi
fi
#覆蓋配置文件
cat > /etc/rsyncd.conf << \EOF
uid = root
gid = root
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
[backup]
path = /data
ignore errors
read only = false
list = false
hosts allow = 10.0.0.0/24
#hosts deny = 0.0.0.0/32
auth users = rsync_backup
secrets file = /etc/rsync.password
EOF
echo " 配置文件覆蓋成功!!!"
#創建存儲目錄
mkdir -p /data
#授權rsync 用戶管理備份目錄 修改備份目錄權限
useradd rsync -s /sbin/nologin -M
chown -R rsync.rsync /data
 if [ $? -eq 0 ];then
                echo " 授權用戶及目錄創建成功,正在正在創建認證用戶密碼文件;修改文件權限…………"
else 
	echo " 授權用戶及目錄創建失敗,請嘗試手動創建……"
fi
#創建認證用戶密碼文件;修改文件權限
echo "rsync_backup:123456" >/etc/rsync.password && chmod 600 /etc/rsync.password
if [ $? -eq 0 ];then
                echo " 創建修改成功,正在重啓……"
else
                echo " 創建修改失敗,請手動檢查目錄是否存在……"
fi
#重啓rsync守護進程服務
                systemctl enable  rsyncd.service  &>/dev/null 		#設置開機自啓
		=systemctl restart rsyncd.service &> /dev/null		#重啓服務
		ps -ef | grep rsync &> /dev/null
if [ $? -eq 0 ];then
                echo " 重啓成功,腳本執行結束……"
else
                echo " 重啓失敗"
fi

客戶端操作

#/bin/bash
#創建認證用戶密碼文件;修改文件權限
echo "123456">/etc/rsync.password
chmod 600 /etc/rsync.password
##輸入備份文件(必須存在才能實現備份)
read -ep '請輸入要備份的文件:' a
#推送備份文件
rsync -avz $a  [email protected]::backup --password-file=/etc/rsync.password
#拉取備份文件
rsync -avz [email protected]::backup --password-file=/etc/rsync.password /tmp

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章