Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> Linux 系統教學 >> Linux 教學

Linux 系統備份利器:cpio 命令深度解析與實戰範例

編輯:Linux 教學

cpio(Copy In/Out)是 Unix 經典備份工具,透過標準輸入/輸出流處理檔案流,支援多種儲存格式(.cpio、.tar),常與 find 搭配實現精準備份。本文詳解四大模式、關鍵參數與四大實戰場景。

一、 四大運作模式

模式參數資料流向典型用途
複製輸出-o檔案 → 封裝檔/裝置備份
複製輸入-i封裝檔/裝置 → 檔案系統還原
列表模式-t封裝檔/裝置 → 標準輸出查看內容
複製傳遞-p來源目錄 → 目標目錄目錄樹遷移

二、 關鍵輔助參數

  • -v:顯示處理檔案名(Verbose)
  • -c:使用新式可攜式 ASCII 頭格式(跨平台相容)
  • -B:區塊大小 5120 bytes(預設 512),大幅提升磁帶/大檔案吞吐
  • -d:還原時自動建立目錄層級
  • -u:無條件覆蓋同名檔案

三、 四大實戰場景

1. 系統配置備份:/etc 所有一般檔案 → /opt/etc.cpio

find /etc -type f | cpio -ocvB > /opt/etc.cpio

find 輸出完整路徑,cpio 讀取標準輸入封裝。

2. 全系統磁帶備份

find / -print | cpio -covB > /dev/st0

/dev/st0 為 SCSI 磁帶裝置。備份量大時輸出導向檔案:
cpio -icdvt < /dev/st0 > /tmp/st_content

3. 還原備份至原路徑(絕對路徑備份)

cpio -icduv < /opt/etc.cpio

關鍵行為:若備份時用絕對路徑,還原會**強制覆蓋原路徑**;若用相對路徑,則還原至當前目錄下。生產環境建議統一使用相對路徑備份,還原時先 cd /target 再解包,避免誤覆蓋關鍵系統檔。

4. 目錄樹遷移(複製傳遞模式)

cd /source
find . -depth -print | cpio -pvd /destination

保留權限、時間戳、符號連結,比 cp -a 更穩健於海量小檔案場景。

四、 避坑指南

  • cpio **不接受檔案名參數**,必須透過管道/重導向從 find、ls 等取得路徑流。
  • 大檔案(>2GB)需確認 cpio 版本支援 Large File(GNU cpio 2.11+ 已支援)。
  • 磁帶備份建議加 -B 並定期 mt -f /dev/st0 status 檢查磁帶健康度。

五、 結語

cpio 以「做一件事做好」的 Unix 哲學,成為自動化備份腳本、嵌入式系統映像製作、容器映像匯出的底層引擎。掌握 find | cpio 管線模式,即掌握了 Linux 檔案流處理的核心范式。

Copyright © Windows教程網 All Rights Reserved