目錄web伺服器定期對專案目錄做備份;
單獨一台備份伺服器上,定期拉取web伺服器上的備份資料到本地
主機名ip
角色node01
192.168.100.11
備份伺服器(rsync-server)
node02
192.168.100.12
web伺服器(rsync-client)
備份伺服器配置
yum install -y rsync
cp /etc/rsyncd.conf
vim /etc/rsyncd.conf
"""uid = xiaofei # 使用者身份,系統使用者
gid = xiaofei
use chroot = no
max connections = 10
pid file = /var/run/rsyncd.pid
log file = /var/log/rsyncd.log
lock file = /var/run/rsyncd.lock
transfer logging = yes
strict modes = yes # 是否檢查密碼檔案許可權
timeout = 900
ignore nonreadable = yes
dont compress = *.gz *.tgz *.zip *.z *.z *.rpm *.deb *.bz2
[backup] # 模組名
path = /backup/ # 模組對應的具體路徑
comment = backup export area
read only = false
#write only = true
auth users = backup_user # 虛擬使用者
secrets file = /etc/rsyncd.password # 虛擬使用者授權檔案
ignore errors = yes
hosts allow = 192.168.100.0/24
hosts deny = *
list = false
"""mkdir /backup
useradd -s /sbin/nologin -m xiaofei
chown -r xiaofei.xiaofei /backup
echo "backup_user:123456" > /etc/rsyncd.password
chmod 600 /etc/rsyncd.password
systemctl start rsyncd
ss -tnl
web伺服器配置
yum install -y rsync
useradd xiaofei
mkdir /backup
chown -r xiaofei:xiaofei /backup
備份服務端測試
# upload
rsync -az /tmp/test.txt [email protected]::backup
# download
rsync -az [email protected]::backup /backup/
結合crontab自動任務計畫
echo "123456" > /etc/rsyncd.password
chmod 600 /etc/rsyncd.password
crontab -e
"""* * * * 1,3,5 /usr/bin/rsync --delete --password-file=/etc/rsyncd.password -az [email protected]::backup /backup/
"""
注意:ip::後面的test是模組名,而不是目錄名,一般我們都定義同樣的名字,以便見名知意
inotify,實時監控指定目錄下檔案元資料,發生變化則會觸發執行指定動作。
注意需要安裝在 rsync-client 端
最終實現:
實時監控目標資料夾,一旦發生變化,則執行上傳操作到備份伺服器上。
yum install -y inotify-tools
cat inotify_script.sh
"""#!/bin/bash
#bakip=192.168.100.11
src=/backup/
dst=backup
user=backup_user
pwdfile=/etc/rsyncd.password
/usr/bin/inotifywait -mrq \
--timefmt '%d-%m-%y %h:%m' \
--format '%t%w%f%e' \
-e create,delete,modify,attrib,move,close_write $src \
| while read files;do
/usr/bin/rsync -az --delete --progress --password-file=$pwdfile $src $@$::$
echo "$ is rsynced." >> /tmp/rsync.log 2>&1
done
"""nohup sh /scripts/inotify_script.sh &
touch /backup/.html
注意:備份資料的使用者許可權 docker部署部署心得
一 涉及檔案 centos centos7.tar.gz docker中centos映象壓縮包 docker.tar.gz docker 安裝包 jre 8u131 linux x64.rpm 生成cloudlicense映象時要用到 由於找不到openjdk,安裝映象,用這個替代 dockerfi...
python sanic部署 Sanic 部署
部署sanic的方法有很多種,可以通過內建的 webserver,也可以通過gunicorn等。內建webserver 定義sanic.sanic例項後,我們可以使用下面的關鍵字引數呼叫run方法 port 預設為8000 伺服器監聽的埠 debug 預設為false 是否開啟除錯模式 會讓伺服器變...
環境部署 Redis環境部署
目錄 redis環境部署 準備部署目錄 修改配置檔案 啟動服務 檢查 附錄redis常用指令 解壓後目錄基本如下 編譯後在src目錄中可看到編譯產物 可執行的二進位制檔案 主要是這幾個 redis server redis sentinel redis cli redis benchmark red...