以下は仮想シナリオです。ファイルを表示し、tarに追加して圧縮するアーカイブプロセスがあります。このような:
while sleep 1 ; do
new_files="$(some-command-to-scan-for files)"
tar --append --file xxx.tar $new_files
if [ condition ] ; then break; fi
done
cat xxx.tar | gzip | dd of=/another/directory/xxx-$(date).tgz
rm xxx.tar
私が本当に望むのは、ループが進むにつれてtarが生成され圧縮されて一時ファイルが不要になることです。既存のファイルを開いて終了を探す必要があるため、追加することはできません。私が本当に欲しいものの「スケッチ」は次のとおりです。
while sleep 1 ; do
new_files="$(some-command-to-scan-for files)"
tar --append --file - $new_files
if [ condition ] ; then break; fi
done | gzip | dd of=/another/directory/xxx-$(date).tgz
標準出力に行くときにtarにさらにファイルを追加する方法はありますか?