rsync daemon模式配置
軟體:
CentOS: rsync daemon模式
Windows: cwRsync client端(Free)
方法:
Linux設為伺服器端,同時windows作為client端,同步方法為,資料發生改動的一方想讓另外一方進行同步。三種情況,windows 向linux同步,linux向windows同步,linux和windows互相同步。
步驟:
1.在Linux端配置daemon模式的rsync服務端並掛載相應的共享目錄。
2.在windows客戶端執行cwRsync軟體,並設定定時任務,和伺服器端進行同步。
配置步驟:
伺服器端:
1. 建立rsync配置檔案目錄
# mkdir /etc/rsyncd
2. 建立配置檔案
# touch rsyncd.conf
3. rsync.conf內容:
#全域性設定
[global section]
1, 規定全域性設定,比如socket檔案,pass檔案等全域性性的配置
[rsync_section]
2,規定同步的目錄的細節,比如許可權,路徑等。
配置檔案樣例:
#Global settings
port = 873
address = 192.168.0.x
#the service bind to the ip address
#the service bind to the ip address
hosts allow = *
#the ip address that can access the service.
#the ip address that can access the service.
motd file = /etc/rsyncd/motd.txt
#socket options = /var/run/rsyncd.socket
#socket opt is for geek
#socket opt is for geek
pid file = /var/log/rsyncd.pid
log file = /var/log/rsyncd.log
#syslog facility = syslog
####Module config######Moudle defines the detail info of the share part.
[backup]
#Setting the file owner and group transfered.
uid = nobody
gid = nobody
#read only can write, wite only can read.
read only = false
#writable
write only = false
#download enable
#List the module
list = true
#Only auth user can access, not need local system user
auth users = rsync
secrets file = /etc/rsyncd.secrets
#password file like : usename:passwd
strict modes = true
#this option is true makes the password file should be read and write only by its owner
#this option is true makes the password file should be read and write only by its owner
ignore errors = true
ignore nonreadable = false
#log in the transfer progress
transfer logging = true
log format = %a-%b-%f-%m-%o-%P-%t-%u
timeout = 600
dont compress = true
path = /backup
use chroot = true
#if use chroot = true, you should run rsync under root privleges
#immentounous connection can not more than 5
max connections = 5
#the lock file functioning the max connections.
lock file = /var/run/rsyslogd.lock
#啟動程式
/usr/bin/rsync --daemon --config=/etc/rsyncd/rsyncd.conf
#關閉程式
ps -ef |grep rsync
kill -15 pid
#加入到service
新建檔案
#vim /etc/init.d/rsyncd
#!/bin/bash
# chkconfig: 345 90 90
# description: running rsync in daemon mode
#author: zzp
#The 2 above config is essential if you want to add it to the chkconfig
#author: zzp
#The 2 above config is essential if you want to add it to the chkconfig
rsync_prog="/usr/bin/rsync"
config_file="/etc/rsyncd/rsyncd.conf"
pid_file="/var/run/rsyncd.pid"
cat_prog="/bin/cat"
xargs_prog="/usr/bin/xargs"
RETVAL=0
start() {
if [ -f $pid_file ];then
echo "Service is running..."
else
echo "Starting rsync daemon..."
$rsync_prog --daemon --config=$config_file
RETVAL=$?
fi
# [ -x $sync_prog ] || return 5
# [ -f $config_file ] || return 5
# [ -f $pid_file ] || return 5
return $RETVAL
}
stop() {
echo "Stopping rsync daemon..."
if [ -f $pid_file ];then
$cat_prog $pid_file | $xargs_prog kill -15 && rm -f $pid_file
RETVAL=$?
else
echo "Serivce already down..."
return $RETVAL
fi
}
restart() {
echo "Restarting rsync daemon..."
stop
sleep 4
start
RETVAL=$?
return $RETVAL
}
case $1 in
start)
start
RETVAL=$?
;;
stop)
stop
RETVAL=$?
;;
restart)
restart
RETVAL=$?
;;
*)
echo "Usage: service rsyncd { start|stop|restart}"
;;
esac
exit $RETVAL
#chmod u+x /etc/init.d/rsyncd
#開機自啟動
echo "/usr/bin/rsync –daemon –config=/etc/rsyncd/rsyncd.conf" >> /etc/rc.d/rc.local
或
#chkconfig –add rsyncd
客戶端配置
客戶端有兩種,一種為Linux,一種為windows。Linux採用自帶rsync,Windows採用cwRsync(client)端。
下面分別說明
1. Linux
方法:寫一個執行指令碼,在crontab中每隔一段時間進行執行,
1. 手動執行
# rsync -av --progress rsync@192.168.0.x::backup ./test/
2. 含有密碼檔案的rsync
# rsync -av --progress --password-file=test.pass rsync@192.168.0.x::backup ./test/
#echo ‘xxxxxx’>/etc/syncd/rsyncd.pass && chmod 600 /etc/rsyncd/rsyncd.pass
3. 執行指令碼的rsync
#!/bin/bash
rsync_prog="/usr/bin/rsync"
$rsync_prog -a --password-file=/root/test.pass rsync@192.168.0.x::backup /root/test/ 2>&1>/dev/null
#echo ‘xxxxxx’>/root/test.pass
Windows下rsync客戶端,
下載cwRsync客戶端(Free)
然後執行定時任務
配置方法:
安裝cwRsync並配置環境:
1. 將cwRsync的bin目錄設定到path環境變數中。
2. 配置密碼檔案,並寫入密碼,設定此密碼檔案的許可權。
檔案的擁有者具有讀寫許可權。
建立執行指令碼:
rsync -av --progress --password-file=/cygdrive/c/passfile rsync@192.168.0.x::backup /cygdrive/c/backup
設定定時任務:
控制皮膚->管理工具->任務計劃程式
新建任務
建立觸發器
建立動作
總結:
此種解決方案主要處理Windows伺服器備份檔案到Linux,或者Linux備份檔案到Windows,最適合的情況是第一種,即Linux作為備份伺服器,並且rsync作為程式一直守護。如果以xinetd的方式的話,則可實現rsync按照需求進行啟動,從而可以節省運算資源。
這種方案也適合於Linux生產伺服器每天晚上負載低的情況下,進行資料同步,即,對某個資料產生目錄,或者生產日誌進行同步,如果資料量一天產生的不大,且內網頻寬應該沒有問題,是進行每日同步的。如果對於業務比較重要的,可以進行每隔多少時間進行同步一次。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29757574/viewspace-2059009/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Rsync安全配置
- rsync的安裝配置
- Linux下rsync安裝與配置Linux
- rsync
- 慎用rsync
- rsync檔案同步工具常見模式有哪些?linux運維學模式Linux運維
- rsync 使用示例
- rsync 用法教程
- Linux命令---rsyncLinux
- Linux下C++ daemonLinuxC++
- Run a program as a service (daemon)-GOGo
- CentOS7 下使用 rsync+sersync 配置檔案自動同步CentOS
- 資料同步rsync
- rsync 命令及其示例
- Rsync資料同步
- rsync實時同步
- rsync遠端同步
- rsync 同步目錄
- rsync 故障排查整理
- 後臺執行緒(daemon)執行緒
- rsync客戶端一鍵安裝rsync指令碼(原始碼)客戶端指令碼原始碼
- Linux rsync配置用於伺服器之間傳輸大量的資料Linux伺服器
- 安裝docker問題:Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?Docker
- cmdr 04 - 簡單微服務 (daemon)微服務
- opentracker改造為daemon守護程式
- Rsync 資料備份
- 使用rsync批次部署🥑
- Rsync服務詳解
- Docker執行命令報錯:Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?Docker
- win10 daemon tools怎麼使用_win10虛擬光碟機daemon tools使用教程Win10
- nginx 配置 vue History模式NginxVue模式
- history 模式反向代理配置模式
- nginx配置vue history模式NginxVue模式
- 解決docker: Error response from daemon故障DockerError
- 建立 SysV 風格的 linux daemon 程式Linux
- php程式daemon化的正確做法PHP
- android studio Error:Unable to start the daemon process【轉】AndroidError
- 檔案伺服器rsync伺服器
- Linux中什麼是Rsync?Linux