導航:首頁 > 程序命令 > linux備份文件夾命令

linux備份文件夾命令

發布時間:2023-02-26 05:20:47

linux下數據備份命令scp、rsync和後台運行

scp和rsync 均可實現文件的復制,但相比較,scp佔用系統資源較小,rsync速度較快。當小文件眾多時,rsync會導致硬碟I/O非常高,而scp基本不影響系統正常使用。可根據需要這倆選其一實現文件復制。

scp 是secure 的縮寫,scp是Linux系統下基於ssh登錄進行安全的遠程文件拷貝命令。
可以實現本地文件復制到遠程伺服器,也可以將遠程文件復制到本地。

rsync 是remote sync的縮寫。使用rsync備份數據時,不會直接覆蓋以前的數據(如果數據已經存在),而是先判斷已存在的數據和新數據的差異(默認規則是文件大小或修改時間有差異),只有數據不相同時才會把不相同的部分覆蓋。在僅作增量數據的時比scp靈活。

一般CentOS默認安裝rsync,若使用 rsync -v 提示找不到命令,可使用 yum install -y rsync 安裝。

單個冒號和雙冒號的區別 :使用rsync在遠程傳輸數據前,是需要進行登陸認證的,這個過程可使用ssh協議也可以使用rsync協議完成。單冒號(:)使用的是ssh協議;雙冒號(::)使用的是rsync協議。

默認情況下,rsync只確保源文件的所有內容(明確排除的文件除外)都復制到目標目錄。它不會使兩個目錄保持不同,並且不會刪除文件。如果要使目標目錄成為源目錄的鏡像副本,則使用--delete選項。可刪除只存在目標目錄,不存在於源目錄的文件。

增量備份算是一個經常使用的場景了。兩台伺服器之間進行文件定期備份,無需所有文件都一遍,僅復制有變動的文件。

具體做法是,第一次同步是全量備份,所有文件在基準目錄裡面同步一份。以後每一次同步都是增量備份,只同步源目錄與基準目錄之間有變動的部分,將這部分保存在一個新的目標目錄。這個新的目標目錄之中,也是包含所有文件,但實際上,只有那些變動過的文件是存在於該目錄,其他沒有變動的文件都是指向基準目錄文件的硬鏈接。

--link-dest 參數用來指定同步時的基準目錄。

上面命令中, --link-dest 參數指定基準目錄 /compare/path ,然後源目錄 /source/path 跟基準目錄進行比較,找出變動的文件,將它們拷貝到目標目錄 /target/path 。那些沒變動的文件則會生成硬鏈接。這個命令的第一次備份時是全量備份,後面就都是增量備份了。

一般伺服器之間復制文件都比較大,為防止誤操作,最好在後台運行。但因為需要和遠程伺服器之間的ssh通訊多是需要密碼的,所以不能直接使用nohup 放置於後台。無論是scp還是rsync都可操作如下:

後台和前台任務的切換

scp不支持斷點續傳,掛起scp進程可能導致數據缺失。傾向於使用rsync。

如果有其他任務需要使用nohup後台運行,但執行時卻忘記了使用nohup,也可參照此方法進行設置。

參考:1. Linux之scp命令及後台運行scp

② linux下備份一個目錄下所有文件及目錄,應該用什麼命令

1、bzip2 filename

//文件即會被壓縮,並被保存為 filename.bz2。

2、gzip filename

//文件即會被壓縮,並被保存為 filename.gz

3、tar 這個命令把大量的文件和目錄打包成一個文件

-c 創建一個新歸檔

-f 當與-c 選項一起使用時,創建的tar 文件使用該選項指定的文件名;當與-x選項一起使用時,則解除該選項指定的歸檔

-t 顯示包括在tar 文件中的文件列表

-v 顯示文件的歸檔進度

-x 從歸檔中抽取文件

-z 使用gzip壓縮tar 文件

-j 使用bzip2壓縮tar 文件

(2)linux備份文件夾命令擴展閱讀:

要創建一個使用tar和bzip2來歸檔壓縮的文件,使用-j選項: tar -cjvf filename.tbz file

如果使用bunzip2 命令解壓filename.tbz文件,則filename.tbz會被刪除,以filename.tar代替。

要擴展並解除歸檔bzip.tar文件,輸入命令: tar -xjvf filename.tbz

要創建一個用tar 和gzip歸檔並壓縮的文件,使用-z選項: tar -czvf filename.tgz file

如果使用gunzip 命令解壓filename.tgz文件,則filename.tgz會被刪除,以filename.tar代替。

③ linux下備份一個目錄下所有文件及目錄,應該用什麼命令

這里教大家如何用find、xargs和tar命令完成上面的功能。

建立一個測試環境,新建幾個文件

# cd /tmp
# mkdir test
# cd test
# touch a.php b.js c.css 1.png
# ls
1.png a.php b.js c.css

接下來,通過find命令找出指定後綴的文件,為了支持多個後綴文件,find命令用到了正則匹配

# find . -type f -regex ".*.(php|js|css)"
./b.js
./a.php
./c.css

-regex後面的參數看起來很復雜,其實很簡單,我來做個解釋,雙引號就不需要解釋了吧

.*.(php|js|css) 簡化一下就是.*.(php|js|css),其實就是對.()|做了下轉義而已,開頭的.*匹配除換行符外的任意字元(這個懂正則表達式的應該都明白)

找出文件後,就是如何備份這些文件了,tar需要指定源文件,怎麼獲取find出來的這些文件,並傳給tar呢,xargs的作用就來了。看到下面xargs輸出的是什麼了吧,這個正是tar需要的。

# find . -type f -regex ".*.(php|js|css)" | xargs
./b.js ./a.php ./c.css
# find . -type f -regex ".*.(php|js|css)" | xargs tar czvf test.tar.gz
./b.js
./a.php
./c.css

下面看看文件是否備份成功了

# tar tzvf test.tar.gz
-rw-r--r-- root/root 0 2014-03-14 10:38 ./b.js
-rw-r--r-- root/root 0 2014-03-14 10:37 ./a.php
-rw-r--r-- root/root 0 2014-03-14 10:38 ./c.css

④ 如何將linux系統的多個目錄及文件備份並壓縮到一個文件

使用tar命令就可以,只需要將要備份的目錄路徑和文件位置依次在後邊寫上就可以了。

舉個例子,我要備份目錄 /etc /root 和你當前目錄下的test.sh 文件 和test目錄。


tarczvftest.tar.gz/etc/roottest.shtest


tar:打包備份命令

-c :建立一個壓縮文件的參數指令(create 的意思)

-z :是否同時具有 gzip 的屬性?亦即是否需要用 gzip 壓縮

-v :壓縮的過程中顯示文件!這個常用,但不建議用在背景執行過程!

-f :使用檔名,請留意,在 f 之後要立即接檔名喔!不要再加參數!

⑤ linux下備份一個目錄下所有文件及目錄,應該用什麼命令

1、bzip2 filename

//文件即會被壓縮,並被保存為 filename.bz2。

2、gzip filename

//文件即會被壓縮,並被保存為 filename.gz

3、tar 這個命令把大量的文件和目錄打包成一個文件

-c 創建一個新歸檔

-f 當與-c 選項一起使用時,創建的tar 文件使用該選項指定的文件名;當與-x選項一起使用時,則解除該選項指定的歸檔

-t 顯示包括在tar 文件中的文件列表

-v 顯示文件的歸檔進度

-x 從歸檔中抽取文件

-z 使用gzip壓縮tar 文件

-j 使用bzip2壓縮tar 文件

(5)linux備份文件夾命令擴展閱讀:

要創建一個使用tar和bzip2來歸檔壓縮的文件,使用-j選項: tar -cjvf filename.tbz file

如果使用bunzip2 命令解壓filename.tbz文件,則filename.tbz會被刪除,以filename.tar代替。

要擴展並解除歸檔bzip.tar文件,輸入命令: tar -xjvf filename.tbz

要創建一個用tar 和gzip歸檔並壓縮的文件,使用-z選項: tar -czvf filename.tgz file

如果使用gunzip 命令解壓filename.tgz文件,則filename.tgz會被刪除,以filename.tar代替。

⑥ Linux自動遠程備份一個文件夾所有文件至一台伺服器上的配置命令步驟

1.備份Linux系統window系統在運行狀態下,我們是無法將文件拷貝出來的,那麼在Linux下呢?她的文件結構式一種樹型結構。而且在系統運行的時候我們可以進行打包所有系統文件。特別要說的在Linux的root賬戶具備系統上的任何操作,這也是為什麼要創建一個比較低級別的用戶許可權來防止系統誤操作導致系統崩潰的暈因了。下面看備份命令。#切換到rootsudosu#進入系統根目錄cd/#執行打包命令tarcvpzflinuxbackup.tgz--exclude=/proc--exclude=/lost+found--exclude=/linuxbackup.tgz--exclude=/mnt--exclude=/sys/命令解釋:tar:linux常用的打包程序cvpzf:式tar的參數,c-創建新文檔v-處理過程中輸出相關信息p-表示保持相同的許可權z-調用gzip來壓縮歸檔文件,與-x聯用時調用gzip完成解壓縮f-對普通文件操作linuxbackup.tgz:要打包成的文件名--exclude=/proc:排除/proc目錄,不打包這個目錄,後面也同理,記得排除自身打包的文件名/:表示打包linux根目錄所有文件,當然了排除的文件不包含在內整個過程理解起來意思就是,創建一個新的文件名linuxbackup.tgz壓縮文件,它保存式從排除了指定目錄後的文件,並且保存原有的許可權設置,這里必須記下你排除的目錄,恢復的時候需要手動創建。具體哪些目錄要排除在外,這個根覺不同的環境和工作需要進行選擇就是了。執行後等待一定時間就可以了,將這個linuxbackup.tgz拷貝到其他地方即可,備份完成了。重點指出:在打包過程中不要進行任何的操作,否則會修改某些文件,在備份完後tar會提示錯誤。恢復也是一樣。2.恢復Linux系統按照上面的方式備份完系統就可以使用該方法恢復你的備份文件了。如果你的系統崩潰了無法進入系統那麼你可以藉助引導CD或者其他引導系統進入,如果你可以進入系統,首先拷貝該備份文件到/目錄下,然後執行下面命令進行恢復系統:#提升到rootsudosu#進入根目錄cd/#解壓恢復系統tarxvpfzlinuxbackup.tgz-C/等執行完後,別急著重啟系統,要記得創建你在備份時候排除的目錄,手動創建,例如上面我們排除,我們需創建mkdirprocmdkirlost+foundmkdirmntmkdirsys這個時候你就可以重啟系統了。恢復完成了。

⑦ linux下備份文件

其實不管是linux系統還是windows系統,重要文件都是需要進行備份的,備份也分兩種手動或者自動,那麼在linux下如何自動備份文件呢?下面來跟大家分享一下。
1、首先新建一個腳本文件,輸入touch /home/backup.sh,點擊回車鍵。

2、打開剛剛創建的腳本文件,輸入vi /home/backup.sh,點擊回車鍵。

3、輸入:
#!/bin/bash
date_time=`date +"%Y%m%d%H%M"`
backup_dir=/www/backup
backup_log=/data/backup/svn_backup_logs/backup.log
err_log=/data/backup/svn_backup_logs/err.log
echo -e "\033[33m--------------------------------------\033[0m" >> ${backup_log}
echo -e `date +"%Y-%m-%d %H:%M"` >> ${backup_log}
echo -e "Starts backing up openvpn...." >> ${backup_log}
cd /opt
zip -r ${backup_dir}/vpn_${date_time}.zip svn 1>/dev/null 2>>${err_log}
if [ "$?" -ne 0 ];then
echo -e "\033[31svn backup failed!\033[0m" >> ${backup_log}
echo -e "\033[33m--------------------------------------\033[0m" >> ${backup_log}
echo -e "\n" >> ${backup_log}
echo -e "at ${date_time} packaged svn file error" >> ${err_log}
echo -e "\n" >> ${err_log}
其中date_time:備份時間;backup_dir:備份到那個目錄;backup_log:備份成功的log文件;err_log:備份失敗的log文件;這些根據需要進行修改。

4、保存後運行該腳本,首先cd到腳本所在的文件夾,輸入cd /home,點擊回車鍵。

5、輸入./backup.sh,點擊回車鍵即可運行腳本。

6、在linux下這種備份方法還是挺簡單的,那如果換成windows操作系統,如果我們想定時備份文件該如何操作呢,有的運營會選擇使用windows server backup,但是由於這個功能創建備份計劃時只能夠創建一個,小編所在的公司是放棄的,直接使用了備份軟體來操作,下面就以大勢至server文件備份軟體來設置下備份供大家參考下。
7、網路下載該系統,解壓後進行安裝,安裝完成後返回桌面找到快捷方式,雙擊打開,根據提示輸入帳號admin和密碼123,點擊確定。

8、在主界面中部找到並點擊新增計劃,在彈出的窗口中找到源備份路徑,點擊其後的瀏覽,選中需要備份的文件或者文件夾,點擊確定。

9、在後方備份目標路徑中輸入備份保存的路徑,這里可以是本地路徑也可以是遠程伺服器路徑,如果是遠程伺服器路徑則在點擊添加後需要輸入遠程伺服器帳號和密碼,點擊確定。

10、在左側菜單中點擊備份開始時間,在右側設置備份開始的日期和時間。

11、在左側菜單中點擊全量備份頻率,在右側勾選全量備份啟用,然後設置備份頻率。

12、在左側菜單中點擊增量備份頻率,在右側勾選增量備份啟用,最後設置增量備份的備份頻率。

13、在左側菜單中點擊備份數據清理,在右側設置清理的周期,最後點擊保存,計劃創建完成,如果需要創建多個備份計劃,通過相同的設置方法繼續設置即可。

⑧ linux下備份一個目錄下所有文件及目錄,應該用什麼命令

應該用cp
-rf
源目錄
備份目錄
cp是復制命令
-r
遞歸處理,指定目錄下的文件和子目錄一並處理
-f
強行復制,無論目標是否存在
知道指定後綴名的文件總個數命令:
find
.
-name
*.cpp
|
wc
-l
知道一個目錄下代碼總行數以及單個文件行數:
find
.
-name
*.h
|
xargs
wc
-l
linux統計文件夾中文件數目。
第一種方法:
ls
-l|grep
「^-」|wc
-l
ls
-l
長列表輸出該目錄下文件信息(注意這里的文件,不同於一般的文件,可能是目錄、鏈接、設備文件等)。如果ls
-lR|grep
「^-」|wc-l則可以連子目錄下的文件一起統計。
grep
^-
這里將長列表輸出信息過濾一部分,只保留一般文件,如果只保留目錄就是
^d
wc
-l
統計輸出信息的行數,因為已經過濾得只剩一般文件了,所以統計結果就是一般文件信息的行數,又由於一行信息對應一個文件,所以也就是文件的個數。
第二種方法:
find
./
-type
f|wc
-l
由於默認find會去子目錄查找,如果只想查找當前目錄的文件用
需要說明的是第二種方法會比第一種方法快很多,尤其是也統計子目錄時。
(8)linux備份文件夾命令擴展閱讀
linux
Linux是一套免費使用和自由傳播的類Unix操作系統,是一個基於POSIX和UNIX的多用戶、多任務、支持多線程和多CPU的操作系統。它能運行主要的UNIX工具軟體、應用程序和網路協議。它支持32位和64位硬體。Linux繼承了Unix以網路為核心的設計思想,是一個性能穩定的多用戶網路操作系統。
Linux操作系統誕生於1991
年10
月5
日(這是第一次正式向外公布時間)。Linux存在著許多不同的Linux版本,但它們都使用了Linux內核。Linux可安裝在各種計算機硬體設備中,比如手機、平板電腦、路由器、視頻游戲控制台、台式計算機、大型機和超級計算機。
嚴格來講,Linux這個詞本身只表示Linux內核,但實際上人們已經習慣了用Linux來形容整個基於Linux內核,並且使用GNU工程各種工具和資料庫的操作系統。
參考資料來源:網路:linux

⑨ Linux系統怎樣備份與還原


1、在保存備份文件的目錄 xxx 下建立一個文件 backup.sh,其內容是:

tar -zcf bin.tar.gz /bin

tar -zcf boot.tar.gz /boot

tar -zcf dev.tar.gz /dev

tar -zcf etc.tar.gz /etc

tar -zcf lib32.tar.gz /lib32

tar -zcf lib64.tar.gz /lib64

tar -zcf lib.tar.gz /lib

tar -zcf opt.tar.gz /opt

tar -zcf sbin.tar.gz /sbin

tar -zcf selinux.tar.gz /selinux

tar -zcf srv.tar.gz /srv

tar -zcf var.tar.gz /var

tar -zcf usr.tar.gz /usr


2、在需要備份的時候進入到保存備份內容的目錄執行一次命令: sh backup.sh


3、在保存備份文件的目錄 xxx 下建立一個叫 restore.sh 的文件,其內容如下:

tar -zxf /mnt/xxx/bin.tar.gz

tar -zxf /mnt/xxx/boot.tar.gz

tar -zxf /mnt/xxx/dev.tar.gz

tar -zxf /mnt/xxx/etc.tar.gz

tar -zxf /mnt/xxx/lib32.tar.gz

tar -zxf /mnt/xxx/lib64.tar.gz

tar -zxf /mnt/xxx/lib.tar.gz

tar -zxf /mnt/xxx/opt.tar.gz

tar -zxf /mnt/xxx/sbin.tar.gz

tar -zxf /mnt/xxx/selinux.tar.gz

tar -zxf /mnt/xxx/srv.tar.gz

tar -zxf /mnt/xxx/var.tar.gz

tar -zxf /mnt/xxx/usr.tar.gz


4、如果需要系統恢復,我就用光碟啟動,mount 原來的根目錄為 yyy,接著 mount 保存備份文件的目錄為 xxx,接著進入到 /mnt/yyy,並在此下達命令: sh /mnt/xxx/restore.sh
說明:


(1)、備份和恢復需要1個多小時,這個時間根據你電腦的CPU速度和硬碟轉速會有所不同。


(2)、上面備份與恢復沒有顧及 /home 目錄和 /root 目錄,因為我的系統主要是給學生做練慣用的,那兩個目錄的內容沒有意義。

在實際工作中,可能這兩個目錄才是最重要的,你可以模仿著別的目錄添加到 backup.sh 和 restore.sh 文件中去,甚至別的目錄都不備份(以便節約備份時間)就備份這兩個目錄。

閱讀全文

與linux備份文件夾命令相關的資料

熱點內容
jellyfin插件怎麼選擇主伺服器 瀏覽:836
asp用戶注冊源碼 瀏覽:48
什麼是照片壓縮文件 瀏覽:392
java調用js代碼 瀏覽:979
崑山市民app怎麼修改身份信息 瀏覽:779
php登陸次數 瀏覽:744
python字元轉成數字 瀏覽:822
海川用的是什麼伺服器 瀏覽:376
口才是練出來的pdf 瀏覽:458
雲伺服器哪個公司性價比高 瀏覽:517
源碼論壇打包 瀏覽:558
php怎麼做成word 瀏覽:692
python批量生成密鑰 瀏覽:492
程序員要不要考社區人員 瀏覽:150
app的錢怎麼充q幣 瀏覽:814
android銀行卡識別 瀏覽:756
怎麼在app投放廣告 瀏覽:11
手機文件管理怎麼看app名稱 瀏覽:192
程序員學數學哪本書最全 瀏覽:789
macd實戰選股公式源碼 瀏覽:644