CRON(ttyを除く):特定の「Message-Id」を含むメッセージを削除する

CRON(ttyを除く):特定の「Message-Id」を含むメッセージを削除する

私のメールボックスから削除する必要がある状況が発生しました(例:/var/メール/ルート)特定の情報を含むメッセージメッセージID

次のコードはコンソールでのみ機能しますが、cron /etc/crontabで実行されているユーザーの対話なしでこれを行う必要があります。

文書:/tmp/clear_spam_test

mutt -f /var/mail/root -e "set alias_file=/var/mail/root" -e "set crypt_use_gpgme=no" -e "push <delete-pattern>[email protected]\n<sync-mailbox>qy"

様々なバリエーションを試しました

  1. ssh -tt localhost 'bash -s' < /tmp/clear_spam_test

出力:
mutt -f /var/mail/root -e "set alias_file=/var/mail/root" -e "set crypt_use_gpgme=no" -e "push <delete-pattern\>[email protected]\n\<sync-mailbox\>qy"

echo -e "\nTEST $( whoami ) $0"
exit 0 ターミナルを開くエラー: 不明。 TEST ルート bash 出口 localhost への接続がクローズされました。
<n>[email protected]\n<sync-mailbox>qy"



  1. ssh -t localhost 'bash -s' < /tmp/clear_spam_test

出力:
stdin が端末ではないため、疑似端末は割り当てられません。
受信者を指定していません。

  1. ssh -T localhost 'bash -s' < /tmp/clear_spam_test

出力:
受信者を指定していません。

  1. ssh -tt $server <<'ENDSSH' echo $(/tmp/clear_spam_test) exit 0 ENDSSH

出力:
端末を開いているときにエラーが発生しました:不明。
TEST root /tmp/clear_spam_test localhostへの
ログアウト
接続が閉じられました。

  1. ssh -t $server <<'ENDSSH' echo $(/tmp/clear_spam_test) exit 0 ENDSSH

出力:
stdin が端末ではないため、疑似端末は割り当てられません。
メッセージ: ttyname 失敗: 装置の不適切な ioctl
受信者が指定されていません。
テストルート/tmp/clear_spam_test

  1. ssh -T $server <<'ENDSSH' echo $(/tmp/clear_spam_test) exit 0 ENDSSH

出力:
メッセージ: ttyname 失敗: 装置の不適切な ioctl
受信者が指定されていません。
テストルート/tmp/clear_spam_test

これらのどれも機能しません。 IFSも試しました。

ベストアンサー1

ここでも同じ問題が発生します。このmuttコマンドは、cronが構築できない動作する端末ウィンドウに依存しているようです。少なくとも私にとっては、screenを使って仮想端末を起動すると便利です。

screen -d -m  mutt -f /var/mail/root -e "set alias_file=/var/mail/root" -e "set crypt_use_gpgme=no" -e "push <delete-pattern>[email protected]\n<sync-mailbox>qy"

おすすめ記事