
仮定のシナリオは次のとおりです。ファイルが表示され、それを tar に追加し、その後 tar を zip 圧縮するアーカイブ プロセスがあります。次のようになります。
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
stdout に出力するときに、tar にさらにファイルを追加する方法はありますか?