特定のMessage-Idを含むメールボックス(例/ var/mail/root)メッセージから削除する必要がある状況があります。
次のコードはコンソールからのみ機能しますが、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"
_
多くのバリエーションを試しました
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"
終了0
_<n>[email protected]\n<sync-mailbox>qy"
_
ターミナルを開く際のエラー:不明。
テストルートバッシュ
出口
ローカルホストへの接続が閉じられました。
ssh -t localhost 'bash -s' < /tmp/clear_spam_test
_出力:
stdinは端末ではないため、疑似端末は割り当てられません。
受信者が指定されていません。
ssh -T localhost 'bash -s' < /tmp/clear_spam_test
_出力:
受信者が指定されていません。
ssh -tt $server <<'ENDSSH' echo $(/tmp/clear_spam_test) exit 0 ENDSSH
出力:
ターミナルを開く際のエラー:不明。
TEST root/tmp/clear_spam_test
ログアウト
ローカルホストへの接続が閉じられました。
ssh -t $server <<'ENDSSH' echo $(/tmp/clear_spam_test) exit 0 ENDSSH
出力:
stdinは端末ではないため、疑似端末は割り当てられません。
mesg:ttyname failed:Inappropriate ioctl for device
受信者が指定されていません。
TEST root/tmp/clear_spam_test
ssh -T $server <<'ENDSSH' echo $(/tmp/clear_spam_test) exit 0 ENDSSH
出力:
mesg:ttyname failed:Inappropriate ioctl for device
受信者が指定されていません。
TEST root/tmp/clear_spam_test
それは機能しません。 IFSも試しました。
ここでも同じ問題。この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"