あるサーバーから別のサーバーに.gzファイルの長いコピーを実行しています。同時にコピーされたファイルを解凍したいと思います。たとえば、a
alで始まるファイル名からc
。
どうすればいいですか?
答え1
最も簡単な方法はシェルを使用することです。比較的近代的なシェル(bashなど)を想定すると、次のことができます。
gunzip [a-c]*gz
答え2
はい、意味
for file in [a-c]*.gz; do gunzip "$file"; done
でもgunzip [a-c]*.gz
(お知らせいただいた@terdonに感謝)
単にネットワークトラフィックを減らすためにこれを行う場合は、接続ストリームを圧縮する方が合理的ですrsync
。
答え3
完全にコピーされたすべてのファイルの圧縮を安全に解決できます。したがって、作業はどのファイルが完了したかを確認することです。
コピーが開始される前にディレクトリが空で、解凍されたファイルが別のディレクトリに書き込まれるとします。解凍する準備が整ったファイルを確認する1つの方法は、次のファイルを待つことです。
これがあなたに適したアプローチであれば、それにいくつかのコードを提供することができます。