一、rsync簡介

我們提供的服務(wù)有:網(wǎng)站建設(shè)、成都網(wǎng)站建設(shè)、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、社旗ssl等。為近千家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的社旗網(wǎng)站制作公司
用于替代rcp的一個(gè)工具,rsync可以通過rsh或ssh使用,也能以daemon模式去運(yùn)行,在以daemon方式運(yùn)行時(shí)rsync
server會開一個(gè)873端口,等待客戶端去連接,連接時(shí),rsync
server會檢查口令是否相符,若通過口令查核,則可以通過進(jìn)行文件傳輸,第一次連通完成時(shí),會把整份文件傳輸一次,以后則就只需進(jìn)行增量備份;
二、rsync常用參數(shù)
-v,--verbose 詳細(xì)模式輸出;
-a,--archive 歸檔模式,表示以遞歸的方式傳輸文件,并保持所有文件屬性不變,相當(dāng)于使用了組合參數(shù)-rlptgoD;
-r, --recursive 對子目錄以遞歸模式處理;
-l, --links 保留軟鏈結(jié);
-p, --perms 保持文件權(quán)限;
-t, --times 保持文件時(shí)間信息;
-g, --group 保持文件屬組信息;
-o, --owner 保持文件屬主信息;
-D, --devices 保持設(shè)備文件信息;
-H, --hard-links 保留硬鏈結(jié);
-S, --sparse 對稀疏文件進(jìn)行特殊處理以節(jié)省DST的 空間;
--delete 刪除那些DST中SRC沒有的文件;
-z, --compress 對備份的文件在傳輸時(shí)進(jìn)行壓縮處理;
三、rsync的六種不同的工作模式;
1)拷貝本地文件;
當(dāng)SRC和DES路徑信息中不包含冒號":"分隔符時(shí),就啟用這種工作模式:
[root@cmmailapp1 /]# rsync -avSH /home/coremail/ /cmbak/
2)使用一個(gè)遠(yuǎn)程shell程序(如rsh、ssh)來實(shí)現(xiàn)將本地機(jī)器的內(nèi)容拷貝到遠(yuǎn)程機(jī)器,當(dāng)DST路徑地址包括冒號":"分隔符時(shí)啟動該模式;
[root@cmmailapp1 /]# rsync -avSH /home/coremail/ 192.168.11.12:/home/coremail/
3)使用一個(gè)遠(yuǎn)程shell程序(如rsh、ssh)來實(shí)現(xiàn)將遠(yuǎn)程機(jī)器的內(nèi)容拷貝到本地機(jī)器,當(dāng)SRC地址路徑包括冒號":"分隔符時(shí)啟動該模式;
[root@cmmailapp2 /]# rsync -avSH 192.168.11.11:/home/coremail/ /home/coremail/
4)從遠(yuǎn)程rsync服務(wù)器中拷貝文件到本地機(jī)。當(dāng)SRC路徑信息包含"::"分隔符時(shí)啟動該模式。
如:rsync -av root@172.16.78.192::www /databack
5)從本地機(jī)器拷貝文件到遠(yuǎn)程rsync服務(wù)器中。當(dāng)DST路徑信息包含"::"分隔符時(shí)啟動該模式。
如:rsync -av /databack root@172.16.78.192::www
6)列遠(yuǎn)程機(jī)的文件列表。這類似于rsync傳輸,不過只要在命令中省略掉本地機(jī)信息即可。
如:rsync -v rsync://192.168.11.11/data
四、rsync服務(wù)端的配置;
環(huán)境:192.168.11.11為生產(chǎn)機(jī);192.168.11.12為備份機(jī);
那么需要192.168.11.11需要作為rsync的client;
192.168.11.12作為rsync的service端;
1、192.168.11.12_service端的配置;
1)[root@cmmailapp2 data]# touch /etc/rsyncd.conf //此文件為rsync的主配置問題,默認(rèn)不存在需要手動創(chuàng)建;
2)定義同步的配置;
[root@cmmailapp2 data]# cat /etc/rsyncd.conf
[data]
path = /data/
auth users = coremail
uid = root
gid = root
secrets file = /etc/rsyncd.secrets
read only = no
[mysql]
Path = /home/coremail/var/mysql
auth users = coremail
uid = root
gid = root
secrets file = /etc/rsyncd.secrets
read only = no
[cmxt]
Path = /home/coremail/
auth users = coremail
uid = root
gid = root
secrets file = /etc/rsyncd.secrets
read only = no
3)定義密碼文件/etc/rsyncd.secrets
[root@cmmailapp2 data]# cat /etc/rsyncd.secrets
coremail:coremail
4)啟動rsync啟動服務(wù)
[root@cmmailapp2 data]# cat /etc/xinetd.d/rsync
# default: off
# description: The rsync server is a good addition to an ftp server, as it \
# allows crc checksumming etc.
service rsync
{
disable = yes //需要修改為no;
socket_type = stream
wait = no
user = root
server = /usr/bin/rsync
server_args = --daemon
log_on_failure += USERID
}
[root@cmmailapp2 data]# chkconfig --level 2345 rsync on
[root@cmmailapp2 data]# chkconfig rsync on
[root@cmmailapp2 data]# chkconfig --level 2345 xinetd on
[root@cmmailapp2 data]# service xinetd restart
Stopping xinetd: [ OK ]
Starting xinetd: [ OK ]
2、192.168.11.11_client端的配置;
[root@cmmailapp1 /]# cat /etc/rsyncd.secrets
coremail
[root@cmmailapp1 /]# rsync -aSvH --password-file=/etc/rsyncd.secrets /home/coremail/coremail@192.168.11.12::data
[root@cmmailapp1 /]# rsync -aSvH --password-file=/etc/rsyncd.secrets /home/coremail/coremail@192.168.11.12::mysql
[root@cmmailapp1 /]# rsync -aSvH --password-file=/etc/rsyncd.secrets /home/coremail/coremail@192.168.11.12::cmxt
五、定義定時(shí)自行rsync同步,指定同步的日志所在的路徑/var/log/rsync/下;
[root@cmmailapp1 log]# cat /root/rsync.sh
DATE=`date +%Y%m%d%H%M`
rsync -aSvH --password-file=/etc/rsyncd.secrets /home/coremail/ coremail@192.168.11.12::data/var/log/rsync.date.$DATE
rsync -aSvH --password-file=/etc/rsyncd.secrets /home/coremail/ coremail@192.168.11.12::mysql/var/log/rsync.mysql.$DATE
rsync -aSvH --password-file=/etc/rsyncd.secrets /home/coremail/ coremail@192.168.11.12::cmxt/var/log/rsync.cmxt.$DATE
chmod u+x /root/rsync.sh
[root@cmmailapp1 log]# crontab -l
0 3 * * * /root/rsync.sh
執(zhí)行時(shí)候的日子記錄文件:
[root@cmmailapp1 log]# ls |grep 'rsync'
rsync.cmxt.201110180915
rsync.date.201110180915
rsync.mysql.201110180915
通過仿真器傳輸命令。
上傳文件只需在shell終端仿真器中輸入命令rz,即可從彈出的對話框中選擇本地磁盤上的文件,利用Zmodem上傳到服務(wù)器當(dāng)前路徑下。下載文件只需在shell終端仿真器中輸入命令sz文件名,即可利用Zmodem將文件下載到本地某目錄下。
1. 前言
linux之間傳文件命令用什么命令?本文介紹一種最常用,也是功能強(qiáng)大的文件同步和傳輸工具Rsync,本文提供詳細(xì)傻瓜式教程。
在本教程中,我們將通過實(shí)際使用案例和最常見的rsync選項(xiàng)的詳細(xì)說明向您展示如何使用rsync。
本教程適用于Ubuntu系統(tǒng)、Linux Mint系統(tǒng)、Deepin深度Linux系統(tǒng)、Fedora系統(tǒng)、Debian系統(tǒng)、Elementary OS系統(tǒng)、OpenSUSE系統(tǒng)、CentOS系統(tǒng)、RHEL系統(tǒng),Arch Linux等等GNU Linux發(fā)行版。
2. `rsync`介紹
Rsync是一個(gè)快速且通用的命令行實(shí)用程序,它可以使Windows與Linux之間,Linux與Linux之間傳文件或者Linux與MAC OS之間傳文件。或從Linux本地文件系統(tǒng)到遠(yuǎn)程Rsync守護(hù)進(jìn)程之間同步文件和文件夾。它只傳輸源和目標(biāo)之間的差異,從而提供快速增量文件傳輸。
Rsync可以用于鏡像數(shù)據(jù)、增量備份、在Linux系統(tǒng)之間傳文件,也可以用于Linux與Windows之間傳輸文件,還可以替代日常使用的scp、sftp和cp命令,他們一般也用于Linux之間傳文件或者Linux與MAC OS之間傳文件。
3. 如何安裝`Rsync`
rsync實(shí)用程序預(yù)裝在大多數(shù)Linux發(fā)行版和macOS上。你可以輸入以下命令,檢查你的系統(tǒng)是否已安裝:
查看Rsync版本的輸出結(jié)果:
如果您的系統(tǒng)上沒有安裝rsync,您可以使用發(fā)行版的包管理器輕松地安裝它。
在Ubuntu 或者Debian體系的Linux系統(tǒng)上安裝rsync
在CentOS 或者Fedora系統(tǒng)上安裝rsync
4. Rsync命令使用語法
在討論如何使用rsync命令之前,讓我們先回顧一下基本語法。
rsync實(shí)用程序表達(dá)式采用以下形式:
rsync提供了許多選項(xiàng)來控制其行為和功能。最廣泛使用的選項(xiàng)是:
-a, --archive, 歸檔模式, 相當(dāng)于 -rlptgoD。這個(gè)選項(xiàng)告訴rsync遞歸地同步目錄、傳輸特殊設(shè)備和塊設(shè)備、保存符號鏈接、修改時(shí)間、組、所有權(quán)和權(quán)限。
-z, --compress. 這個(gè)選項(xiàng)將強(qiáng)制rsync在傳送文件到目標(biāo)計(jì)算機(jī)時(shí)壓縮數(shù)據(jù)。僅當(dāng)?shù)竭h(yuǎn)程計(jì)算機(jī)的連接很慢時(shí)才使用此選項(xiàng)。
-P, 相當(dāng)于--partial --progress。使用此選項(xiàng)時(shí),rsync將在傳輸期間顯示一個(gè)進(jìn)度條,并保留部分傳輸?shù)奈募.?dāng)通過緩慢或不穩(wěn)定的網(wǎng)絡(luò)連接傳輸大文件時(shí),它非常有用。
--delete. 使用此選項(xiàng)時(shí),rsync將從目標(biāo)位置刪除無關(guān)文件。它對鏡像很有用。
-q, --quiet。如果希望禁用非錯(cuò)誤消息,請使用此選項(xiàng)。
-e. 此選項(xiàng)允許您選擇不同的遠(yuǎn)程shell。默認(rèn)情況下,rsync被配置為使用ssh。
5. 使用Rsync最基本的功能使Linux之間傳輸文件
要將一個(gè)文件從一個(gè)本地位置復(fù)制到另一個(gè)本地位置,可以運(yùn)行以下命令:
運(yùn)行該命令的用戶必須具有目標(biāo)位置上的讀權(quán)限和目標(biāo)上的寫權(quán)限。
從目標(biāo)位置省略文件名將復(fù)制具有當(dāng)前名稱的文件。如果您想將文件保存在另一個(gè)名稱下,請?jiān)谀繕?biāo)部件上指定新名稱:
比如復(fù)制filename.zip到目標(biāo)目錄并重新把文件名修改為newfilename.zip
在下面的例子中,我們正在創(chuàng)建一個(gè)本地備份我們的網(wǎng)站文件:
如果目標(biāo)目錄不存在,rsync將創(chuàng)建它。
值得一提的是,rsync對后面帶有斜杠/的源目錄提供了不同的處理。如果在源目錄上添加一個(gè)尾隨斜杠,它將只將目錄的內(nèi)容復(fù)制到目標(biāo)目錄。當(dāng)后面的斜杠被省略時(shí),rsync將把源目錄復(fù)制到目標(biāo)目錄中。
6. 如何使用Rsync與遠(yuǎn)程服務(wù)器同步文件(包括上傳下載)
當(dāng)使用rsync進(jìn)行遠(yuǎn)程傳輸時(shí),必須同時(shí)安裝在源機(jī)器和目標(biāo)機(jī)器上。rsync的新版本被配置為使用SSH作為默認(rèn)遠(yuǎn)程shell。
在下面的例子中,我們將一個(gè)目錄從本地轉(zhuǎn)移到遠(yuǎn)程機(jī)器:
如果你需要配置2臺Linux之間免密碼登錄,請查看以下教程:
如果你想把數(shù)據(jù)從遠(yuǎn)程傳輸?shù)奖镜貦C(jī)器,你需要使用遠(yuǎn)程位置作為一個(gè)源:
如果遠(yuǎn)程主機(jī)上的SSH監(jiān)聽的端口不是默認(rèn)的22端口,那么可以使用-e選項(xiàng)指定端口:
比如遠(yuǎn)程服務(wù)器的SSH端口被修改為1234
當(dāng)傳輸大量數(shù)據(jù)時(shí),建議在屏幕會話中運(yùn)行rsync命令或使用-P選項(xiàng):
7. 使用Rsync傳送或同步文件時(shí),排除某些文件或者目錄
當(dāng)使用Rsync排除文件或目錄時(shí),需要使用它們到源位置的相對路徑。
有兩個(gè)選項(xiàng)可以排除文件和目錄。第一個(gè)選項(xiàng)是使用--exclude參數(shù),并在命令行中指定要排除的文件和目錄。
在下面的例子中,我們排除了位于src_directory中的123和abc目錄:
第二個(gè)選項(xiàng)是使用--exclude-from參數(shù),并指定要在文件中排除的文件和目錄。
vi exclude-file.txt
加入需要排除的文件,比如文件file1.c,目錄zcwyou:
8. 總結(jié)
在本教程中,您學(xué)習(xí)了如何使用Rsync在多臺Linux之間傳輸、復(fù)制或同步文件和目錄。在Rsync用戶手冊頁面上有更多關(guān)于Rsync的內(nèi)容。
如果你有任何問題,請留下你的意見。
文章題目:linux同步上傳命令,linux同步數(shù)據(jù)命令
標(biāo)題網(wǎng)址:http://chinadenli.net/article4/dsehjie.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供營銷型網(wǎng)站建設(shè)、移動網(wǎng)站建設(shè)、App設(shè)計(jì)、搜索引擎優(yōu)化、網(wǎng)站設(shè)計(jì)、
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)