當前位置:首頁 » 文件管理 » linuxrsync文件夾

linuxrsync文件夾

發布時間: 2022-08-29 17:10:11

linux中rsync非同步伺服器實現文件同步與備份

Rsync
非常適合在兩台機器之間快速同步大型、復雜的目錄,例如論壇的附件目錄。再配合
ssh
,則安全性也有保證,且可以利用
ssh
public
key

cron
來進行自動定時同步。
說明:兩台機器分別為
localhost

remotehost
;用戶分別為
localuser

remoteuser。
環境:FreeBSD
4.9

FreeBSD
6.1
代碼如下

設置
ssh
public
key
認證
$ssh-keygen
-t
dsa
-b
2048
生成所需的密鑰
$scp
/home/localuser/.ssh/id_dsa.pub
remoteuser@remotehost:/home/remoteuser/.ssh/localuser_id_dsa.pub
將公鑰拷貝至
remotehost
$ssh
remoteuser@remotehost
登錄到?端
代碼如下

$cd
.ssh/
;
cat
localuser_id_dsa.pub
>>
authorized_keys
至此,設置
ssh
認證完畢。
設置
rsync
確認兩端機器都安裝
rsync

freeBSD

ports
,安裝非常方便。
寫個腳本名為
backup.sh
,內容如下:
代碼如下

#!/bin/sh
RSYNC=/usr/local/bin/rsync
SSH=/usr/bin/ssh
KEY=/home/localuser/.ssh
/id_rsa
RUSER=remoteuser
RHOST=remotehost
RPATH=/remote/dir
LPATH=/this/dir
$RSYNC
-az—delte
-e
“$SSH
-i
$KEY”
$RUSER@$RHOST:$RPATH
$LPATH
-a
選項相當於選項
-rlptgoD
。簡單來講,此選項可遞歸並將幾乎所有的東西同步過去,非常有用。注意的是,
-a
默認不會保存
hardlinks
,不過可以單獨用
-H
選項來實現。
-z
選項在傳輸中壓縮文件,這無疑加快同步速度。
-delete
選項會刪除接受方一些不應存在的文件,此文件在發送方已經被刪除,這將保持目錄完全同步。

cron
每天凌晨1點來跑這個腳本
代碼如下

$crontab
-e
0
1
*
*
*
/home/localuser/bin/backup.sh
友情提示
rsync是沒有自動啟動同步功能了,如果我們要定時去備份一個網站數據我們就需要用到定時功能了,上面的例子來使用到了linux中$crontab命令來定時執行備份數據腳本了哦。

❷ linux下使用rsync同步文件時、如何判斷單個或某個文件同步是否成功

這個問題應該是可以解決的,只需要在你的命令行後面再加上一條命令就可以了。
#
rsync
....
||
echo
!$
命令的意思呢,就是說在執行前面的一個命令的時候,如果失敗了,那就會執行後面的echo
!$命令,而!$變數的意思就是上一個命令執行後所跟的參數。也就是說,如果rsync命令在同步某一個文件的時候出現錯誤,那這個文件名就會被!$所記錄下來,因此我認為通過這個命令就可以知道在執行rsync命令時,是那個文件出現問題了。命令經過本人的試驗是成功的,不過因為我的rsync沒有失敗,所以我是把||
修改成&&來測試的,原理上是一樣的。
不知道這樣的答案是LZ想要的嗎?

❸ linux怎麼看rsync配置文件夾

檢查方法: 1、rpm -qa rsync 出現rsync 包名就是安裝了 2、 rsync + 回車 出現幫助信息說明已經安裝

❹ 如何使用rsync備份整個linux系統,還原到另外一個linux

1.備份
a)可以直接通過tar對整個文件系統('/『)進行備份,但是有幾點需要注意:
i. 不能備份以下幾個文件(目錄)
1. 當前壓縮文件
2. /proc文件夾
3. /lost+found文件夾
4. /mnt文件夾
5. /sys文件夾
6. /media文件夾
b)所以,命令為:
tar cvpzf backup.tar.gz --exclude=/proc --exclude=/lost+found --exclude=/backup.tar.gz --exclude=/mnt --exclude=/sys --exclude=/media /
1.注意:p選項代表保存當前許可權

2.還原
a) Linux可以再正在遠行的系統中還原系統,如果當前啟動無法啟動,可以通過live cd來啟動並執行恢復操作
b) 操作如下
tar xcpfz backup.tar.gz -C /
c) 需要額外創建目錄
i.
mkdir proc
ii.
mkdir lost+found
iii.
mkdir mnt
iv.
mkdir sys

❺ 如何在Linux下使用rsync

語法:

#rsysnc [options] source path destination path
示例: 1 - 啟用壓縮
[root@localhost /]# rsync -zvr /home/aloft/ /backuphomedir
building file list ... done
.bash_logout
.bash_profile
.bashrc
sent 472 bytes received 86 bytes 1116.00 bytes/sec
total size is 324 speep is 0.58
上面的rsync命令使用了-z來啟用壓縮,-v是可視化,-r是遞歸。上面在本地的/home/aloft/和/backuphomedir之間同步。

示例: 2 - 保留文件和文件夾的屬性
[root@localhost /]# rsync -azvr /home/aloft/ /backuphomedir
building file list ... done
./
.bash_logout
.bash_profile
.bashrc

sent 514 bytes received 92 bytes 1212.00 bytes/sec
total size is 324 speep is 0.53
上面我們使用了-a選項,它保留了所有人和所屬組、時間戳、軟鏈接、許可權,並以遞歸模式運行。

示例: 3 - 同步本地到遠程主機
root@localhost /]# rsync -avz /home/aloft/ [email protected]:192.168.1.4:/share/rsysnctest/
Password:

building file list ... done
./
.bash_logout
.bash_profile
.bashrc
sent 514 bytes received 92 bytes 1212.00 bytes/sec
total size is 324 speep is 0.53
上面的命令允許你在本地和遠程機器之間同步。你可以看到,在同步文件到另一個系統時提示你輸入密碼。在做遠程同步時,你需要指定遠程系統的用戶名和IP或者主機名。

示例: 4 - 遠程同步到本地
[root@localhost /]# rsync -avz [email protected]:192.168.1.4:/share/rsysnctest/ /home/aloft/
Password:
building file list ... done
./
.bash_logout
.bash_profile
.bashrc
sent 514 bytes received 92 bytes 1212.00 bytes/sec
total size is 324 speep is 0.53
上面的命令同步遠程文件到本地。

示例: 5 - 找出文件間的不同
[root@localhost backuphomedir]# rsync -avzi /backuphomedir /home/aloft/
building file list ... done
cd+++++++ backuphomedir/
>f+++++++ backuphomedir/.bash_logout
>f+++++++ backuphomedir/.bash_profile
>f+++++++ backuphomedir/.bashrc
>f+++++++ backuphomedir/abc
>f+++++++ backuphomedir/xyz

sent 650 bytes received 136 bytes 1572.00 bytes/sec
total size is 324 speep is 0.41
上面的命令幫助你找出源地址和目標地址之間文件或者目錄的不同。

示例: 6 - 備份
rsync命令可以用來備份linux。

你可以在cron中使用rsync安排備份。

❻ linux之間傳文件用什麼工具好呢

1. 前言

linux之間傳文件命令用什麼命令?本文介紹一種最常用,也是功能強大的文件同步和傳輸工具Rsync,本文提供詳細傻瓜式教程。

在本教程中,我們將通過實際使用案例和最常見的rsync選項的詳細說明向您展示如何使用rsync。

本教程適用於Ubuntu系統、Linux Mint系統、Deepin深度Linux系統、Fedora系統、Debian系統、Elementary OS系統、OpenSUSE系統、CentOS系統、RHEL系統,Arch Linux等等GNU Linux發行版。

2. `rsync`介紹

Rsync是一個快速且通用的命令行實用程序,它可以使Windows與Linux之間,Linux與Linux之間傳文件或者Linux與MAC OS之間傳文件。或從Linux本地文件系統到遠程Rsync守護進程之間同步文件和文件夾。它只傳輸源和目標之間的差異,從而提供快速增量文件傳輸。

Rsync可以用於鏡像數據、增量備份、在Linux系統之間傳文件,也可以用於Linux與Windows之間傳輸文件,還可以替代日常使用的scp、sftp和cp命令,他們一般也用於Linux之間傳文件或者Linux與MAC OS之間傳文件。

3. 如何安裝`Rsync`

rsync實用程序預裝在大多數Linux發行版和macOS上。你可以輸入以下命令,檢查你的系統是否已安裝:

查看Rsync版本的輸出結果:

如果您的系統上沒有安裝rsync,您可以使用發行版的包管理器輕松地安裝它。

在Ubuntu 或者Debian體系的Linux系統上安裝rsync

在CentOS 或者Fedora系統上安裝rsync

4. Rsync命令使用語法

在討論如何使用rsync命令之前,讓我們先回顧一下基本語法。

rsync實用程序表達式採用以下形式:

rsync提供了許多選項來控制其行為和功能。最廣泛使用的選項是:

-a, --archive, 歸檔模式, 相當於 -rlptgoD。這個選項告訴rsync遞歸地同步目錄、傳輸特殊設備和塊設備、保存符號鏈接、修改時間、組、所有權和許可權。

-z, --compress. 這個選項將強制rsync在傳送文件到目標計算機時壓縮數據。僅當到遠程計算機的連接很慢時才使用此選項。

-P, 相當於--partial --progress。使用此選項時,rsync將在傳輸期間顯示一個進度條,並保留部分傳輸的文件。當通過緩慢或不穩定的網路連接傳輸大文件時,它非常有用。

--delete. 使用此選項時,rsync將從目標位置刪除無關文件。它對鏡像很有用。

-q, --quiet。如果希望禁用非錯誤消息,請使用此選項。

-e. 此選項允許您選擇不同的遠程shell。默認情況下,rsync被配置為使用ssh。

5. 使用Rsync最基本的功能使Linux之間傳輸文件

要將一個文件從一個本地位置復制到另一個本地位置,可以運行以下命令:

運行該命令的用戶必須具有目標位置上的讀許可權和目標上的寫許可權。

從目標位置省略文件名將復制具有當前名稱的文件。如果您想將文件保存在另一個名稱下,請在目標部件上指定新名稱:

比如復制filename.zip到目標目錄並重新把文件名修改為newfilename.zip

在下面的例子中,我們正在創建一個本地備份我們的網站文件:

如果目標目錄不存在,rsync將創建它。

值得一提的是,rsync對後面帶有斜杠/的源目錄提供了不同的處理。如果在源目錄上添加一個尾隨斜杠,它將只將目錄的內容復制到目標目錄。當後面的斜杠被省略時,rsync將把源目錄復制到目標目錄中。

6. 如何使用Rsync與遠程伺服器同步文件(包括上傳下載)

當使用rsync進行遠程傳輸時,必須同時安裝在源機器和目標機器上。rsync的新版本被配置為使用SSH作為默認遠程shell。

在下面的例子中,我們將一個目錄從本地轉移到遠程機器:

如果你需要配置2台Linux之間免密碼登錄,請查看以下教程:

如果你想把數據從遠程傳輸到本地機器,你需要使用遠程位置作為一個源:

如果遠程主機上的SSH監聽的埠不是默認的22埠,那麼可以使用-e選項指定埠:
比如遠程伺服器的SSH埠被修改為1234

當傳輸大量數據時,建議在屏幕會話中運行rsync命令或使用-P選項:

7. 使用Rsync傳送或同步文件時,排除某些文件或者目錄

當使用Rsync排除文件或目錄時,需要使用它們到源位置的相對路徑。

有兩個選項可以排除文件和目錄。第一個選項是使用--exclude參數,並在命令行中指定要排除的文件和目錄。

在下面的例子中,我們排除了位於src_directory中的123和abc目錄:

第二個選項是使用--exclude-from參數,並指定要在文件中排除的文件和目錄。

vi exclude-file.txt
加入需要排除的文件,比如文件file1.c,目錄zcwyou:

8. 總結

在本教程中,您學習了如何使用Rsync在多台Linux之間傳輸、復制或同步文件和目錄。在Rsync用戶手冊頁面上有更多關於Rsync的內容。

如果你有任何問題,請留下你的意見。

❼ Linux:rsync作同步時可以刪除文件嗎

  1. 可以的,只要在命令參數那邊添加--delete

    /usr/bin/rsync -vlzrtogp --progress --delete [email protected]::test --password-file=/root/192.168.1.115 /root/2013/


  2. 但是這個加上去就是一個危險的命令,需要先虛擬機測試下然後再貼到實際環境中運行

    因為他會在備份伺服器上(DST)刪除原伺服器(SRC)上沒有的文件。

❽ 怎麼在linux上用rsync同步文件以及它的用法和scp的用法

1、rsync -zvrtopg -progress -e 'ssh -p 埠號' [email protected]:/文件目錄/ 本機的目錄地址(zvrtopg參數,參照http://www.cnblogs.com/meteoric_cry/archive/2011/04/01/2002267.html)
2、cp --- 主要是用於在同一台電腦上,在不同的目錄之間來迴文件
scp ---
主要是在不同的Linux系統之間來迴文件

熱點內容
安卓版瀏覽器的收藏在哪裡 發布:2024-10-13 03:45:13 瀏覽:650
資料庫分量 發布:2024-10-13 03:36:52 瀏覽:189
安卓系統變為什麼系統 發布:2024-10-13 03:24:52 瀏覽:847
華為4x重置密碼是多少 發布:2024-10-13 03:08:31 瀏覽:279
榮放安卓屏的藍牙如何關閉 發布:2024-10-13 02:50:49 瀏覽:57
c語言學完 發布:2024-10-13 02:28:52 瀏覽:611
酒商城源碼 發布:2024-10-13 01:58:54 瀏覽:137
我的世界伺服器圈地設計 發布:2024-10-13 01:46:16 瀏覽:218
配置升級到什麼型號好 發布:2024-10-13 01:38:35 瀏覽:195
面試java基礎 發布:2024-10-13 01:38:34 瀏覽:892