重慶分公司,新征程啟航
為企業(yè)提供網(wǎng)站建設(shè)、域名注冊、服務(wù)器等服務(wù)
為企業(yè)提供網(wǎng)站建設(shè)、域名注冊、服務(wù)器等服務(wù)
linux本身不能通過命令實現(xiàn)異地備份。要說要說跨主機負責(zé),可以用rcp和scp兩個命令,都需要建立主機信任關(guān)系。rcp不加密,scp是基于ssh的加密拷貝。這兩個命令都可以把A主機指定文件復(fù)制到B主機指定目錄下。
創(chuàng)新互聯(lián)是專業(yè)的寧德網(wǎng)站建設(shè)公司,寧德接單;提供成都網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計,網(wǎng)頁設(shè)計,網(wǎng)站設(shè)計,建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進行寧德網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團隊,希望更多企業(yè)前來合作!
但真正實現(xiàn)完整異地備份功能,一般都采用專業(yè)的備份軟件,可以實現(xiàn)全量備份,增量備份,差異備份,甚至數(shù)據(jù)庫備份功能。
scp和rsync 均可實現(xiàn)文件的復(fù)制,但相比較,scp占用系統(tǒng)資源較小,rsync速度較快。當(dāng)小文件眾多時,rsync會導(dǎo)致硬盤I/O非常高,而scp基本不影響系統(tǒng)正常使用。可根據(jù)需要這倆選其一實現(xiàn)文件復(fù)制。
scp 是secure copy的縮寫,scp是Linux系統(tǒng)下基于ssh登錄進行安全的遠程文件拷貝命令。
可以實現(xiàn)本地文件復(fù)制到遠程服務(wù)器,也可以將遠程文件復(fù)制到本地。
rsync 是remote sync的縮寫。使用rsync備份數(shù)據(jù)時,不會直接覆蓋以前的數(shù)據(jù)(如果數(shù)據(jù)已經(jīng)存在),而是先判斷已存在的數(shù)據(jù)和新數(shù)據(jù)的差異(默認規(guī)則是文件大小或修改時間有差異),只有數(shù)據(jù)不相同時才會把不相同的部分覆蓋。在僅作增量數(shù)據(jù)的copy時比scp靈活。
一般CentOS默認安裝rsync,若使用 rsync -v 提示找不到命令,可使用 yum install -y rsync 安裝。
單個冒號和雙冒號的區(qū)別 :使用rsync在遠程傳輸數(shù)據(jù)前,是需要進行登陸認證的,這個過程可使用ssh協(xié)議也可以使用rsync協(xié)議完成。單冒號(:)使用的是ssh協(xié)議;雙冒號(::)使用的是rsync協(xié)議。
默認情況下,rsync只確保源文件的所有內(nèi)容(明確排除的文件除外)都復(fù)制到目標(biāo)目錄。它不會使兩個目錄保持不同,并且不會刪除文件。如果要使目標(biāo)目錄成為源目錄的鏡像副本,則使用--delete選項??蓜h除只存在目標(biāo)目錄,不存在于源目錄的文件。
增量備份算是一個經(jīng)常使用的場景了。兩臺服務(wù)器之間進行文件定期備份,無需所有文件都copy一遍,僅復(fù)制有變動的文件。
具體做法是,第一次同步是全量備份,所有文件在基準(zhǔn)目錄里面同步一份。以后每一次同步都是增量備份,只同步源目錄與基準(zhǔn)目錄之間有變動的部分,將這部分保存在一個新的目標(biāo)目錄。這個新的目標(biāo)目錄之中,也是包含所有文件,但實際上,只有那些變動過的文件是存在于該目錄,其他沒有變動的文件都是指向基準(zhǔn)目錄文件的硬鏈接。
--link-dest 參數(shù)用來指定同步時的基準(zhǔn)目錄。
上面命令中, --link-dest 參數(shù)指定基準(zhǔn)目錄 /compare/path ,然后源目錄 /source/path 跟基準(zhǔn)目錄進行比較,找出變動的文件,將它們拷貝到目標(biāo)目錄 /target/path 。那些沒變動的文件則會生成硬鏈接。這個命令的第一次備份時是全量備份,后面就都是增量備份了。
一般服務(wù)器之間復(fù)制文件都比較大,為防止誤操作,最好在后臺運行。但因為需要和遠程服務(wù)器之間的ssh通訊多是需要密碼的,所以不能直接使用nohup 放置于后臺。無論是scp還是rsync都可操作如下:
后臺和前臺任務(wù)的切換
scp不支持?jǐn)帱c續(xù)傳,掛起scp進程可能導(dǎo)致數(shù)據(jù)缺失。傾向于使用rsync。
如果有其他任務(wù)需要使用nohup后臺運行,但執(zhí)行時卻忘記了使用nohup,也可參照此方法進行設(shè)置。
參考:1. Linux之scp命令及后臺運行scp
用于備份的Tar
備份工具Tar是以前備份文件的可靠方法,幾乎可以工作于任何環(huán)境中,Linux老用戶一般都信賴它。 Linux中以.tar結(jié)尾的文件都是用tar創(chuàng)建的。它的使用超出了單純的備份,可用來把許多不同文件放到一起組成一個易于分開的文件。tar是從Tape ARchiver備份工具起步的。包含在Linux中的GNU tar工具簡便易用,包含了一個用來壓縮的選項,且支持不斷增加的備份。tar是一個命令行的工具,沒有圖形界面。使用Konsole或Kvt打開一個終端窗口,接下來是一個簡單的備份命令: $tar cvf - /home /temp/backup.tar
這個命令在/tmp目錄中創(chuàng)建一個backup.tar的文件,/home目錄中所有內(nèi)容都包含在其中。接下來可以把tar文件拷貝到備份磁盤中。使用簡單備份時,如果要使用壓縮功能,改為下面命令: $tar czvf - /home /tmp/backup.tgz
上面擴展名. tgz指出這是一個壓縮文件。下一個例子可以用來直接備份到一個安裝好的Jaz驅(qū)動器中,但這樣做要確定有足夠的空間: $tar czvf /mnt/jaz/backup.tgz - /home
對于一個磁帶驅(qū)動器,使用設(shè)備名稱: $tar czvf /dev/st0/backup.tgz - /home
如果有一個備份非常大,可以使用多卷選項。但是,這樣做就不能使用壓縮。當(dāng)?shù)谝粋€磁盤或磁帶填滿后,tar將提示插入另一張: $tar cvMf /dev/st0/5mar2000.tar -home
要恢復(fù)備份使用下面的命令,以Jaz磁盤為例: $tar xzvf /mnt/jaz/5mar2000.tgz /home
表1列出了tar主要功能參數(shù)。此外還有很多可選參數(shù),本文不再詳述。
表1備份工具tar可以用crontab工具設(shè)置成基于時間的有規(guī)律地運行。例如,每晚2點把/home目錄備份到SCSI磁帶驅(qū)動器中,只要將下面語句添加到root的crontab中即可: 00 02 * * * tar cvf /dev/st0/homefiles.tar - /home
用于備份的Cpio
GNU cpio工具像tar一樣從命令提示行啟動程序。與tar相比cpio更復(fù)雜,但是也更為可靠。因為如果一個tar文件中某處有一個壞塊,就不能對備份文件的其它部分進行訪問,而使用cpio,只有壞塊不能被訪問。cpio創(chuàng)建一個稱為copy-out mode的備份,備份存檔中包含了文件和所有者、時間及訪問許可等信息。cpio需要一個假定要備份的文件列表。創(chuàng)建列表的一個最方便的方法就是使用ls命令。例如,要把/home目錄備份到SCSI磁帶設(shè)備中,輸入下面的命令: $ls /home | cpio -o /dev/st0
也可以使用find命令。它包括許多選項可以用來消減被存檔文件的數(shù)量。例如,下面的命令對所有在上一個2 4小時內(nèi)修改過的文件進行存檔: $find /home -mtime 1 -type f -print | cpio -o /dev/st0
copy - in模式把文件從備份存檔中解出來。下面的命令會恢復(fù)前兩個備份例子中的所有文件: $cpio -i /dev/st0
你也可以對cpio的備份進行計劃,用crontab工具設(shè)置成基于任何時間的有規(guī)律地運行。例如,要在每晚2點把/ home目錄備份到SCSI磁帶驅(qū)動器中,把下面的語句添加到root的crontab文件中即可: 00 02 * * * ls /home | cpio -o /dev/st0
語法: cp [選項] 源文件或目錄 目標(biāo)文件或目錄
說明: 該命令把指定的源文件復(fù)制到目標(biāo)文件或把多個源文件復(fù)制到目標(biāo)目 錄中。
該命令的各選項含義如下:
- a 該選項通常在拷貝目錄時使用。它保留鏈接、文件屬性, 并遞歸地拷貝目錄,其作用等于dpR選項的組合。
- d 拷貝時保留鏈接。
- f 刪除已經(jīng)存在的目標(biāo)文件而不提示。
- i 和f選項相反,在覆蓋目標(biāo)文件之前將給出提示要求用戶確認。 回答y時目標(biāo)文件將被覆蓋,是交互式拷貝。
- p 此時cp除復(fù)制源文件的內(nèi)容外, 還將把其修改時間和訪問權(quán)限也復(fù)制到新文件中。
- r 若給出的源文件是一目錄文件, 此時cp將遞歸復(fù)制該目錄下所有的子目錄和文件。 此時目標(biāo)文件必須為一個目錄名。
- l 不作拷貝,只是鏈接文件。
需要說明的是, 為防止用戶在不經(jīng)意的情況下用cp命令破壞另一個文件, 如用戶指定的目標(biāo)文件名是一個已存在的文件名, 用cp命令拷貝文件后,這個文件就會被新拷貝的源文件覆蓋, 因此,建議用戶在使用cp命令拷貝文件時,最好使用i選項。
$ cp - i exam1.c /usr/wang/shiyan1.c
該命令將文件exam1.c拷貝到/usr/wang 這個目錄下,并改名為 shiyan1.c。若不希望重新命名,可以使用下面的命令:
應(yīng)該用cp -rf 源目錄 備份目錄
cp是復(fù)制命令
-r 遞歸處理,指定目錄下的文件和子目錄一并處理
-f 強行復(fù)制,無論目標(biāo)是否存在
應(yīng)該用cp
-rf
源目錄
備份目錄
cp是復(fù)制命令
-r
遞歸處理,指定目錄下的文件和子目錄一并處理
-f
強行復(fù)制,無論目標(biāo)是否存在
知道指定后綴名的文件總個數(shù)命令:
find
.
-name
*.cpp
|
wc
-l
知道一個目錄下代碼總行數(shù)以及單個文件行數(shù):
find
.
-name
*.h
|
xargs
wc
-l
linux統(tǒng)計文件夾中文件數(shù)目。
第一種方法:
ls
-l|grep
“^-”|wc
-l
ls
-l
長列表輸出該目錄下文件信息(注意這里的文件,不同于一般的文件,可能是目錄、鏈接、設(shè)備文件等)。如果ls
-lR|grep
“^-”|wc-l則可以連子目錄下的文件一起統(tǒng)計。
grep
^-
這里將長列表輸出信息過濾一部分,只保留一般文件,如果只保留目錄就是
^d
wc
-l
統(tǒng)計輸出信息的行數(shù),因為已經(jīng)過濾得只剩一般文件了,所以統(tǒng)計結(jié)果就是一般文件信息的行數(shù),又由于一行信息對應(yīng)一個文件,所以也就是文件的個數(shù)。
第二種方法:
find
./
-type
f|wc
-l
由于默認find會去子目錄查找,如果只想查找當(dāng)前目錄的文件用
需要說明的是第二種方法會比第一種方法快很多,尤其是也統(tǒng)計子目錄時。
擴展資料
linux
Linux是一套免費使用和自由傳播的類Unix操作系統(tǒng),是一個基于POSIX和UNIX的多用戶、多任務(wù)、支持多線程和多CPU的操作系統(tǒng)。它能運行主要的UNIX工具軟件、應(yīng)用程序和網(wǎng)絡(luò)協(xié)議。它支持32位和64位硬件。Linux繼承了Unix以網(wǎng)絡(luò)為核心的設(shè)計思想,是一個性能穩(wěn)定的多用戶網(wǎng)絡(luò)操作系統(tǒng)。
Linux操作系統(tǒng)誕生于1991
年10
月5
日(這是第一次正式向外公布時間)。Linux存在著許多不同的Linux版本,但它們都使用了Linux內(nèi)核。Linux可安裝在各種計算機硬件設(shè)備中,比如手機、平板電腦、路由器、視頻游戲控制臺、臺式計算機、大型機和超級計算機。
嚴(yán)格來講,Linux這個詞本身只表示Linux內(nèi)核,但實際上人們已經(jīng)習(xí)慣了用Linux來形容整個基于Linux內(nèi)核,并且使用GNU工程各種工具和數(shù)據(jù)庫的操作系統(tǒng)。
參考資料來源:百度百科:linux