tar命令本來的作用是能夠把很多文件放到壹個小文件中進行歸檔,但是同時又能夠對文件進行壓縮。所以,壹般情況下都采用tar進行文件整理和壓縮。
/* 把/root整個目錄進行壓縮備份 */
# tar cvzf /tmp/root_backup_1215.tar.gz /root
那麽就能夠把 /tmp/root_backup_1215.tar.gz進行存儲,比如保存到磁帶機上等。
說明: 壓縮的tar檔案通常的擴展名是 tar.gz、tgz、或者tar.bz2。前兩個擴展名壹般是使用gzip命令進行壓縮的tar檔案,後壹個擴展名是
基於bzip2的壓縮,因為壓縮算法的原因,後壹個壓縮更強。
同時,也很容易把已經打包壓縮的文件進行恢復:
/* 從備份文件中進行還原 */
# tar tkvzf root_backup_1215.tar.gz
二、使用cpio備份存檔:
cpio (copy in/out) 命令可以建立存檔,跟tar不同之處在於,能夠處理標準的輸入輸出。顧名思義,就是復制,輸入,輸出的意思。
如果要備份root的文件,使用下列命令:
# find /root | cpio -o > /tmp/root_backup_1215.cpio
cpio能夠使用通配符將壹組文件設置成標準輸入。比如,下面見所有的.tif文件建立檔案:
# find *.tif | cpio -o > /tmp/back.cpio
記住,find命令很靈活,下列命令把系統中所有的.tif文件進行歸檔:
# find / -name '*.tif' | cpio -o > /tmp/back_tif.cpio
同時,也很容易從cpio檔案中恢復文件。下列命令恢復back_tif.cpio中的文件:
# cpio -i < back_tif.cpio
和tar命令壹樣,cpio命令恢復從目錄保存的文件時,取決於是相對路經還是絕對路經。
cpio命令還有壹個優點是可以直接將文件發送給外部源。
例如,下列命令恢復/root主目錄中的文件,並把文件發送到SCSI磁帶機:
# find /root | cpio -o -> /dev/st0
# cpio -i < /dev/st0