rsync 端口更換(默認(rèn)873)
rsync默認(rèn)情況下端口都是873,如果服務(wù)器開(kāi)啟了防火墻需要打開(kāi)對(duì)應(yīng)的端口。
window下面開(kāi)啟873端口的方法
我的桌面 》網(wǎng)絡(luò) 》右鍵 》屬性 》左下角 防火墻
入站規(guī)則 》 新建規(guī)則
打開(kāi)如下窗口 選擇 ”端口“
下一步
特定本地端口 收入 873
肯定是允許連接
默認(rèn)就是三個(gè)全部選擇
起個(gè)名字方便這個(gè)是做什么用的
好了,windows下的設(shè)置方法就ok了
LINUX 如何開(kāi)放端口和關(guān)閉端口
iptables -A INPUT -ptcp --dport 873-j ACCEPT
一、查看哪些端口被打開(kāi) netstat -anp
二、關(guān)閉端口號(hào):iptables -A INPUT -p tcp --drop 端口號(hào)-j DROP
iptables -A OUTPUT -p tcp --dport 端口號(hào)-j DROP
三、打開(kāi)端口號(hào):iptables -A INPUT -ptcp --dport 端口號(hào)-j ACCEPT
四、以下是linux打開(kāi)端口命令的使用方法。
nc -lp 23 &(打開(kāi)23端口,即telnet)
netstat -an | grep 23 (查看是否打開(kāi)23端口)
五、linux打開(kāi)端口命令每一個(gè)打開(kāi)的端口,都需要有相應(yīng)的監(jiān)聽(tīng)程序才可以
#允許所有IP對(duì)本機(jī)80端口的訪問(wèn)
iptables -I INPUT -p tcp –dport 80 -j ACCEPT
iptables -I INPUT -p udp –dport 80 -j ACCEPT
#提高本地?cái)?shù)據(jù)包的優(yōu)先權(quán):放在第1位
iptables -t mangle -A OUTPUT -p tcp -m tcp –dport 22 -j MARK –set-mark 1
iptables -t mangle -A OUTPUT -p tcp -m tcp –dport 22 -j RETURN
iptables -t mangle -A OUTPUT -p icmp -j MARK –set-mark 1
iptables -t mangle -A OUTPUT -p icmp -j RETURN
#提高tcp初始連接(也就是帶有SYN的數(shù)據(jù)包)的優(yōu)先權(quán)是非常明智的:
iptables -t mangle -A PREROUTING -p tcp -m tcp –tcp-flags SYN,RST,ACK SYN -j MARK –set-mark 1
iptables -t mangle -A PREROUTING -p tcp -m tcp –tcp-flags SYN,RST,ACK SYN -j RETURN
#提高ssh數(shù)據(jù)包的優(yōu)先權(quán):放在第1類,要知道ssh是交互式的和重要的,不容待慢哦
iptables -t mangle -A PREROUTING -p tcp -m tcp –dport 22 -j MARK –set-mark 1
iptables -t mangle -A PREROUTING -p tcp -m tcp –dport 22 -j RETURN
#封鎖55.55.55.55對(duì)本機(jī)所有端口的訪問(wèn),暫不使用,我的注釋掉了。
iptables -I INPUT -s 55.55.55.55 -j DROP
#禁止55.55.55.55對(duì)80端口的訪問(wèn)
iptables -I INPUT -s 55.55.55.55 -p TCP –dport 80 -j DROP
rsync更改端口后的同步辦法
rsync有兩種常用的認(rèn)證方式,一種為rsync-daemon方式,另外一種則是ssh。
在一些場(chǎng)合,使用rsync-daemon方式會(huì)比較缺乏靈活性,ssh方式則成為首選。但是今天實(shí)際操作的時(shí)候發(fā)現(xiàn)當(dāng)遠(yuǎn)端服務(wù)器的ssh默認(rèn)端口被修改后,rsync時(shí)找不到一個(gè)合適的方法來(lái)輸入對(duì)方ssh服務(wù)端口號(hào)。
在查看官方文檔后,找到一種方法,即使用-e參數(shù)。
-e參數(shù)的作用是可以使用戶自由選擇欲使用的shell程序來(lái)連接遠(yuǎn)端服務(wù)器,當(dāng)然也可以設(shè)置成使用默認(rèn)的ssh來(lái)連接,但是這樣我們就可以加入ssh的參數(shù)了。
具體語(yǔ)句寫(xiě)法如下:
rsync -e 'ssh -p 1234' username@hostname:SourceFile DestFile
其他參數(shù)完全按照rsync的規(guī)定格式加入即可。
上面語(yǔ)句中比較新鮮的地方就是使用了單引號(hào),目的是為了使引號(hào)內(nèi)的參數(shù)為引號(hào)內(nèi)的命令所用。沒(méi)有引號(hào)的話系統(tǒng)就會(huì)識(shí)別-p是給rsync的一個(gè)參數(shù)了。我的描述可能比較爛,詳情可以參考rsync官方描述:
Command-line arguments are permitted in COMMAND provided that COMMAND is presented to rsync as a single argument. You must use spaces (not tabs or other whitespace) to separate the command and args from each other, and you can use single- and/or double-quotes to preserve spaces in an argument (but not backslashes). Note that doubling a single-quote inside a single-quoted string gives you a single-quote; likewise for double-quotes (though you need to pay attention to which quotes your shell is parsing and which quotes rsync is parsing).
下面是rsync配置過(guò)程中常遇到的一些文件,大家可以可以參考一下
一般使用默認(rèn)端口的話, 在服務(wù)端的啟動(dòng)命令為:
/usr/bin/rsync --address=192.168.1.23 --daemon
如果在客戶端需要換另外的端口偵聽(tīng), 則使用
/usr/bin/rsync --address=172.18.16.89 --port=8081 --daemon
客戶端命令:
/usr/bin/rsync -vzrc --progress --bwlimit=300 /usr/local/tomcat/webapps/.gif 172.18.16.89::appLogo/
rsync: failed to connect to 172.18.16.89: Connection refused (111)
rsync error: error in socket IO (code 10) at clientserver.c(107) [sender=2.6.8]
此時(shí)在客戶端也必須指定端口, 不然會(huì)報(bào)錯(cuò)。
改為
/usr/bin/rsync -vzrc --port=8081 --progress --bwlimit=300 /usr/local/tomcat/webapps/.gif 172.18.16.89::appLogo/
就OK
三、FAQ
Q:如何通過(guò)ssh進(jìn)行rsync,而且無(wú)須輸入密碼?
A:可以通過(guò)以下幾個(gè)步驟
1. 通過(guò)ssh-keygen在server A上建立SSH keys,不要指定密碼,你會(huì)在~/.ssh下看到identity和identity.pub文件
2. 在server B上的home目錄建立子目錄.ssh
3. 將A的identity.pub拷貝到server B上
4. 將identity.pub加到~[user b]/.ssh/authorized_keys
5. 于是server A上的A用戶,可通過(guò)下面命令以用戶B ssh到server B上了
e.g. ssh -l userB serverB
這樣就使server A上的用戶A就可以ssh以用戶B的身份無(wú)需密碼登陸到server B上了。
Q:如何通過(guò)在不危害安全的情況下通過(guò)防火墻使用rsync?
A:解答如下:
這通常有兩種情況,一種是服務(wù)器在防火墻內(nèi),一種是服務(wù)器在防火墻外。
無(wú)論哪種情況,通常還是使用ssh,這時(shí)最好新建一個(gè)備份用戶,并且配置sshd僅允許這個(gè)用戶通過(guò)RSA認(rèn)證方式進(jìn)入。
如果服務(wù)器在防火墻內(nèi),則最好限定客戶端的IP地址,拒絕其它所有連接。
如果客戶機(jī)在防火墻內(nèi),則可以簡(jiǎn)單允許防火墻打開(kāi)TCP端口22的ssh外發(fā)連接就ok了。
Q:我能將更改過(guò)或者刪除的文件也備份上來(lái)嗎?
A:當(dāng)然可以:
你可以使用如:rsync -other -options -backupdir = ./backup-2000-2-13 ...這樣的命令來(lái)實(shí)現(xiàn)。
這樣如果源文件:/path/to/some/file.c改變了,那么舊的文件就會(huì)被移到./backup-2000-2-13/path/to/some/file.c,這里這個(gè)目錄需要自己
手工建立起來(lái)
Q:我需要在防火墻上開(kāi)放哪些端口以適應(yīng)rsync?
A:視情況而定
rsync可以直接通過(guò)873端口的tcp連接傳文件,也可以通過(guò)22端口的ssh來(lái)進(jìn)行文件傳遞,但你也可以通過(guò)下列命令改變它的端口:
rsync --port 8730 otherhost::
或者
rsync -e 'ssh -p 2002' otherhost:
Q:我如何通過(guò)rsync只復(fù)制目錄結(jié)構(gòu),忽略掉文件呢?
A:rsync -av --include '*/' --exclude '*' source-dir dest-dir
Q:為什么我總會(huì)出現(xiàn)"Read-only file system"的錯(cuò)誤呢?
A:看看是否忘了設(shè)"read only = no"了
Q:為什么我會(huì)出現(xiàn)'@ERROR: invalid gid'的錯(cuò)誤呢?
A:rsync使用時(shí)默認(rèn)是用uid=nobody;gid=nobody來(lái)運(yùn)行的,如果你的系統(tǒng)不存在nobody組的話,就會(huì)出現(xiàn)這樣的錯(cuò)誤,可以試試gid =
nogroup或者其它
Q:綁定端口873失敗是怎么回事?
A:如果你不是以root權(quán)限運(yùn)行這一守護(hù)進(jìn)程的話,因?yàn)?024端口以下是特權(quán)端口,會(huì)出現(xiàn)這樣的錯(cuò)誤。你可以用--port參數(shù)來(lái)改變。
Q:為什么我認(rèn)證失???
A:從你的命令行看來(lái):
你用的是:
> bash$ rsync -a 144.16.251.213::test test
> Password:
> @ERROR: auth failed on module test
>
> I dont understand this. Can somebody explain as to how to acomplish this.
> All suggestions are welcome.
應(yīng)該是沒(méi)有以你的用戶名登陸導(dǎo)致的問(wèn)題,試試rsync -a max@144.16.251.213::test test
四、一些可借鑒的腳本
這里這些腳本都是rsync網(wǎng)站上的例子:
1、每隔七天將數(shù)據(jù)往中心服務(wù)器做增量備份
#!/bin/sh
# This script does personal backups to a rsync backup server. You will end up
# with a 7 day rotating incremental backup. The incrementals will go
# into subdirectories named after the day of the week, and the current
# full backup goes into a directory called "current"
# tridge@linuxcare.com
# directory to backup
BDIR=/home/$USER
# excludes file - this contains a wildcard pattern per line of files to exclude
EXCLUDES=$HOME/cron/excludes
# the name of the backup machine
BSERVER=owl
# your password on the backup server
export RSYNC_PASSWORD=XXXXXX
########################################################################
BACKUPDIR=`date +%A`
OPTS="--force --ignore-errors --delete-excluded --exclude-from=$EXCLUDES
--delete --backup --backup-dir=/$BACKUPDIR -a"
export PATH=$PATH:/bin:/usr/bin:/usr/local/bin
# the following line clears the last weeks incremental directory
[ -d $HOME/emptydir ] || mkdir $HOME/emptydir
rsync --delete -a $HOME/emptydir/ $BSERVER::$USER/$BACKUPDIR/
rmdir $HOME/emptydir
# now the actual transfer
rsync $OPTS $BDIR $BSERVER::$USER/current
2、備份至一個(gè)空閑的硬盤(pán)
#!/bin/sh
export PATH=/usr/local/bin:/usr/bin:/bin
LIST="rootfs usr data data2"
for d in $LIST; do
mount /backup/$d
rsync -ax --exclude fstab --delete /$d/ /backup/$d/
umount /backup/$d
done
DAY=`date "+%A"`
rsync -a --delete /usr/local/apache /data2/backups/$DAY
rsync -a --delete /data/solid /data2/backups/$DAY
3、對(duì)vger.rutgers.edu的cvs樹(shù)進(jìn)行鏡像
#!/bin/bash
cd /var/www/cvs/vger/
PATH=/usr/local/bin:/usr/freeware/bin:/usr/bin:/bin
RUN=`lps x | grep rsync | grep -v grep | wc -l`
if [ "$RUN" -gt 0 ]; then
echo already running
exit 1
fi
rsync -az vger.rutgers.edu::cvs/CVSROOT/ChangeLog $HOME/ChangeLog
sum1=`sum $HOME/ChangeLog`
sum2=`sum /var/www/cvs/vger/CVSROOT/ChangeLog`
if [ "$sum1" = "$sum2" ]; then
echo nothing to do
exit 0
fi
rsync -az --delete --force vger.rutgers.edu::cvs/ /var/www/cvs/vger/
exit 0
4、利用find的一種巧妙方式
rsync -avR remote:'`find /home -name "*.[ch]"`' /tmp/
可以用這種方法列出需要備份的文件列表——這種方法似乎比較少人用到。
五、參考資料:
1、http://rsync.samba.org/
2、rsync examples
3、rsync FAQ
相關(guān)文章
IIS自定義404錯(cuò)誤頁(yè)避免暴露.NET網(wǎng)站路徑信息
這篇文章主要介紹了IIS自定義404錯(cuò)誤頁(yè)避免暴露.NET網(wǎng)站路徑信息,在輸入非.aspx頁(yè)面時(shí),顯示默認(rèn)404頁(yè)面,暴露站點(diǎn)路徑信息,本文就給出了一個(gè)解決方法,需要的朋友可以參考下2015-06-06訪問(wèn)asp頁(yè)面出現(xiàn)出現(xiàn)“請(qǐng)求的資源在使用中”的解決辦法
windows2003 IIS6運(yùn)行ASP, http 500 - 內(nèi)部服務(wù)器錯(cuò)誤。asp程序不能瀏覽 但htm靜態(tài)網(wǎng)頁(yè)不受影響。將IE改為不顯示友好錯(cuò)誤如下時(shí):出現(xiàn)“請(qǐng)求的資源在使用中”2011-05-05用cwrsync同步windows下數(shù)據(jù)的簡(jiǎn)單配置方法
rsync是linux下功能強(qiáng)大的同步軟件?,F(xiàn)在在windows下也可以使用rsync(cwrsync)來(lái)同步數(shù)據(jù)了2012-11-11windows下使用IIS配置的PHP無(wú)法上傳文件的解決方法
windows下使用IIS配置的PHP無(wú)法上傳文件,一直是很多網(wǎng)友比較疑惑的地方,本人搜集整理下,希望可以幫助你們2012-12-12遠(yuǎn)程分析win2003 IIS安全設(shè)置
遠(yuǎn)程分析win2003 IIS安全設(shè)置...2007-12-12Win2003云服務(wù)器或VPS網(wǎng)站程序池調(diào)整設(shè)置技巧
這篇文章主要介紹了Win2003云服務(wù)器或VPS網(wǎng)站程序池調(diào)整設(shè)置技巧,需要的朋友可以參考下2014-12-12Win2003 服務(wù)器安裝及設(shè)置教程 系統(tǒng)設(shè)置篇
Windows2003服務(wù)器安裝及設(shè)置教程 系統(tǒng)設(shè)置篇,提高性能與安全系數(shù)。2010-04-04IIS7 IIS8 http自動(dòng)跳轉(zhuǎn)到HTTPS(80端口跳轉(zhuǎn)443端口)
這篇文章主要介紹了IIS7 IIS8 http自動(dòng)跳轉(zhuǎn)到HTTPS(80端口跳轉(zhuǎn)443端口),需要的朋友可以參考下2020-08-08