❶ 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
❷ 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 mp命令
mp命令用於備份ext2或者ext3文件系統。可將目錄或整個文件系統備份至指定的設備,或備份成一個大文件。
命令格式:mp [選項] [參數] 需要備份的文件
常用選項即參數:
-[0-9]:備份的層級
-f 設備名稱:指定備份設備;
-u:備份完畢後,在/etc/mpdates中記錄備份的文件系統、層級、日期與時間等
用法示例:
將/home目錄所有內容備份到/tmp/homeback.bak文件中,備份層級為0並在/etc/mpdates中記錄相關信息:
$ mp -0u -f /tmp/homeback.bak /home 將/home目錄所有內容備份到/tmp/homeback.bak文件中,備份層級為1(只備份上次使用層次0備份後發生過改變的數據)並在/etc/mpdates中記錄相關信息:
$ mp -1u -f /tmp/homeback.bak /home 通過mp命令的備份層級,可實現完整+增量備份、完整+差異備份,在配合crontab可以實現無人值守備份。
❹ linux怎麼備份系統
首先切換到root用戶下,執行sudo su
並執行cd / 切到跟路徑下,再按下面執行操作
執行命令df -h
查看分區磁碟情況,一些沒有作用的分區可以不用備份的。比如說mnt,一般都是掛載的光碟機文件,還有media等。
使用命令 tar cvpzf backup.tgz --exclude=/data --exclude=/datafile /
還是要根據自己的實際情況來選擇舍棄,先分析一下你的各分區大小,在看看備份的路徑分區大小夠不夠。我這里是將不用的datafile和data分區舍棄了,備份的文件名backup.tgz存放路徑是「/」路徑(因為足夠大,就索性全備了)
ps:「cvpfz」是tar的選項,意思是「創建檔案文件」、「保持許可權」(保留所有東西原來的許可權)、「使用gzip來減小文件尺寸」。
執行命令後,linux就立即開始了備份作業,備份過程截圖備份完成後有如下的一個警告提示,應該是不影響的。
我們來看看備份的最終成果吧,在「/」路徑下執行命令:ls -l
可以看到備份的文件backup.tgz了
也可以用命令df -h看看/根目錄分區的使用狀態,比未備份前少了8%,約7G左右
❺ 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備份與恢復
實體機無法做快照、如果出現系統異常或者數據損壞、後果嚴重 、要重做系統、還會造成數據丟失、所以我們可以使用備份和恢復技術。
Linux的備份和恢復很簡單、有兩種方式:
1、把需要的文件(或者分區)用TAR打包就行、下次需要恢復的時候、再解壓開覆蓋即可
2、使用mp和restore命令
如果linux上沒有mp和restore指令、需要先安裝
基本介紹
mp支持分卷和增量備份
通過mp命令在配合crontab可以實現無人值守備份
基本介紹
restore命令用來恢復已備份的文件、可以從mp生成的備份文件中恢復原文件
基本語法
❼ linux 文件備份命令
Linux備份命令詳解
(2008-11-0807:58:34)
轉載
標簽:
雜談
分類:LINUX學習
vmp的常用方式:
1). 對於文件需要在只讀方式下備份的文件,建議進入單用戶:
# init s 或
>>>boot–fl s
2). 對操作系統各MOUNT點進行備份
3). # mount -a
# vmp -0uvf/dev/ntape/tape0_d1 /
# vmp -0uvf/dev/ntape/tape0_d1 /usr
# vmp -0uf/dev/ntape/tape0_d1 /var (如過var區是做為單獨的文件子集也需要單獨備份)
-f : 設備文件名 ( 比如 DDS tape driver)
-u : 更新/etc/vmpdates,用於增量備份
- v: 備份內容詳細列表
- 0 : 零級備份
/dev/ntape0_d1: 系統執行完畢後,磁帶停止在當前位置,可繼續往下備份
/;/usr;/var : 各文件系統的MOUNT點
4). 其他說明
a、該命令方式對系統當前mounted的文件系統進行備份
b、備份級別說明
備份級別有0~9個級別,如果當前系統採用零級備份,當下一次採用5級備份時,系統僅將會對有變化的文件進行備份。
系統恢復常用命令--vrestore
恢復整個操作系統各文件系統的內容:
1). 准備工作:
a. 准備一個可用的新硬碟,容量大小和原盤基本相符。
b. 准備一套與備份系統相同版本的安裝光碟
2). 用操作系統安裝光碟啟動到安裝界面,調整新硬碟各分區大小後進入單用戶。
* >>>bootdqa0 (dqa0 為SRM下的光碟機設備號)
* 按正常安裝步驟選著OK—》NEXT—》NEXT---》NEXT—NEXT---NEXT-CUSTOMIZEFILE SYSSTEM LAYOUT(調整分區大小)--》QUIT OR SHELL WINDOW。
* 注意:在調整新硬碟分區時一定要在引導塊上選擇ADVFS,並定義B區為SWAP
3). 創建操作系統的各文件系統。(如系統新盤為 dsk0)
mkfdmn/dev/disk/dsk0a root_temp (創建文件系統域)
mkfset root_temproot (創建文件子集)
mkfdmn/dev/disk/dsk0g usr_temp
mkfset usr_temp usr
mkfset usr_temp var(條件:在原系統中VAR為單獨的文件子集)
註:在高級文件系統創建過程中,域名只要不和原來沖突,命名是任意的。但對文件子集命名方面最好和原來一致。(以避免不必要的修改工作)
4). 操作系統各文件系統的的恢復
#mount root_temp#root/mnt
#cd /mnt
#vrestore -xvf/dev/ntape/tape0_d1 (恢復該文件系統上所有數據)
#cd /
#umount /mnt
#mount usr_temp#usr/mnt
#cd /mnt
#vrestore -xvf/dev/ntape/tape0_d1
#cd /
#umount /mnt
#mount usr_temp#var/mnt (條件:VAR為單獨的文件子集)
#cd /mnt
#vrestore -xvf/dev/ntape/tape0_d1
-f: 設備文件名
-x: 恢復磁帶當前備份數據段上的所有數據
- v: 備份內容詳細列表
5). 如果恢復硬碟與備份盤在系統中設備名的不同(如:備份盤為dsk0,恢復盤為dsk1)需要做以下修改:
#mount root_temp#root/mnt
#cd /mnt/etc/fdmns
#cd root_domain
#rm *
#ln –s/dev/disk/dsk1a
#cd ..
#cd usr_domain
#rm *
#ln –s/dev/disk/dsk1g
#cd /mnt/etc
#vi sysconfigtab
將swapdevice=/dev/disk/dsk0b修改為swapdevice=/dev/disk/dsk1b
6). SHUTDOWN系統,在SRM下,用新盤引導
恢復文件系統中某些目錄或文件:
#vrestore –if/dev/ntape/tape0_d1
(/) add vmunixgenvmunix (在系統根區備份中只恢復vmunix和genvmunix兩個文件)
(/) extract (開始恢復)
對個別或若干個目錄單獨恢復同上
操作磁帶機需要注意的幾個問題
磁帶機在備份過程中是分段記錄的,在恢復時一定考慮磁帶的位置問題。按上述備份例子,在數據帶上一共創建了3段獨立的數據備份信息(/;/usr;/var)。以下命令可調整數據帶的位置。
#mt rewind (磁帶機回卷磁帶到初始位置)
需要單獨恢復/usr文件系統或個別文件信息:
#mt rewind
#mt fsf 1 ( 跳過第一個數據備份段 / )
如果以上需求發生在/var上則:
#mt rewind (跳過前兩個數據備份段)
#mt fsf 2
❽ 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下數據備份命令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