rsync+inotify 在一臺伺服器上面同步資料
阿新 • • 發佈:2019-01-30
1:rsync:負責同步資料
安裝:yun install rsync
usr/bin/rsync -auvrtzopgP --progress --delete /usr/local/www/admin/html/ /usr/local/www/web/basic/web/html/
同步/usr/local/www/admin/html/ 到 /usr/local/www/web/basic/web/html/
2:inotify:負責監控資料夾是否有變化
安裝:yum install inotify-tools
/usr/bin/inotifywait -mrq --timefmt '%Y/%m/%d-%H:%M:%S' --format '%T %w %f' -e modify,delete,create,move,attrib /usr/local/www/admin/html/
監控 /usr/local/www/admin/html/ 資料夾裡面的刪除 移動 建立
3:nohup 使用守護執行緒
4:編寫shell指令碼 rsync.sh
#!/bin/bash
log_file=/var/log/rsync_client.log
inotify_fun(){
/usr/bin/inotifywait -mrq --timefmt '%Y/%m/%d-%H:%M:%S' --format '%T %w %f' -e modify,delete,create,move,attrib /usr/local/www/admin/html/ | while read file
do
/usr/bin/rsync -auvrtzopgP --progress --delete /usr/local/www/admin/html/ /usr/local/www/web/basic/web/html/
done
}
#inotify log
inotify_fun >> ${log_file} 2>&1 &
5:啟動
nohup /usr/local/www/shell/rsync.sh & 回車兩次就ok
6: 停止
ps -aux |grep rsync 檢視程序 然後 kill -9 程序編號
pkill rsync
pkill inotifywait
安裝:yun install rsync
usr/bin/rsync -auvrtzopgP --progress --delete /usr/local/www/admin/html/ /usr/local/www/web/basic/web/html/
同步/usr/local/www/admin/html/ 到 /usr/local/www/web/basic/web/html/
2:inotify:負責監控資料夾是否有變化
安裝:yum install inotify-tools
/usr/bin/inotifywait -mrq --timefmt '%Y/%m/%d-%H:%M:%S' --format '%T %w %f' -e modify,delete,create,move,attrib /usr/local/www/admin/html/
監控 /usr/local/www/admin/html/ 資料夾裡面的刪除 移動 建立
3:nohup 使用守護執行緒
4:編寫shell指令碼 rsync.sh
#!/bin/bash
log_file=/var/log/rsync_client.log
inotify_fun(){
/usr/bin/inotifywait -mrq --timefmt '%Y/%m/%d-%H:%M:%S' --format '%T %w %f' -e modify,delete,create,move,attrib /usr/local/www/admin/html/ | while read file
do
/usr/bin/rsync -auvrtzopgP --progress --delete /usr/local/www/admin/html/ /usr/local/www/web/basic/web/html/
done
}
#inotify log
inotify_fun >> ${log_file} 2>&1 &
5:啟動
nohup /usr/local/www/shell/rsync.sh & 回車兩次就ok
6: 停止
ps -aux |grep rsync 檢視程序 然後 kill -9 程序編號
pkill rsync
pkill inotifywait