ファイルが到着すると FIFO に lazy tar する bash スクリプト

ファイルが到着すると FIFO に lazy tar する bash スクリプト

仮定のシナリオは次のとおりです。ファイルが表示され、それを 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 にさらにファイルを追加する方法はありますか?

関連情報