Files
如何拆分文件並將零件保存到多個位置?
如何將大文件拆分為多個較小的塊並將其每個部分寫入單獨的位置?
split
命令似乎只將所有文件輸出到一個位置。我需要做的上下文如下:我必須通過創建壓縮複製映像來備份一個大硬碟。我沒有任何外部硬碟可以將壓縮圖像作為一個整體來放置。所以我需要一些方法將圖像拆分並寫入多個位置。
對於複製和壓縮圖像,我想到的是以下內容。
dd if=/dev/sda conv=sync,noerror bs=64K | gzip -c | split -b 110g - <Multiple locations for each piece>
我的一個選擇是使用連接在一起的所有外部硬碟創建一個軟體 RAID 0 分區,並將壓縮映像寫入其中。但如果存在更簡單的解決方案(使用內置 gnu/linux 命令),那就太好了。
我也可以一次只 dd 大硬碟的一小部分,並在循環中重複執行(使用 dd 的 seek 和 count 參數)。但除非我用 gzip 壓縮它,否則我不知道單個 110Gb 外部硬碟可以容納多少塊。
我認為你可以擺脫使用
split
’s--filter=COMMAND
。
... | split -b <SIZE> -d - part --filter=./split-filter
./split-filter
類似的東西在哪裡#!/bin/bash set -e n="${FILE#part}" case $((10#$n%3)) in 0) dd bs=64K >"path1/$FILE" ;; 1) dd bs=64K >"path2/$FILE" ;; 2) dd bs=64K >"path3/$FILE" ;; esac