一定期間後の文字の自動削除が設定されている場合、件名はbeat打され、あまり重要ではありません。
しかし、ある従業員が非常にプライベートな量のメッセージを別の従業員に送信するのではなく、ホールディング全体に送信する場合...
猫の下で、これがどのように実装されているかの説明。
ネットワークを調べてみたところ、古いメールを削除するための小さなスクリプトが記述されている
サイトに出くわしました。それは悪くありませんが、サブフォルダーの文字を削除するのには適していませんでした。
彼はメインタスクに近づいたときに問題を解決しました。
最初に、このzmmailbox(強力で包括的なアシスタント)が私たちを助けるために、夕方の詳細を含む手紙が入ることができるすべてのフォルダーを見つける必要があります。 入力してください:
/opt/zimbra/bin/zmmailbox -z -m user@corp.org gaf
応答として、次のものを取得します。
Id View Unread Msg Count Path ---------- ---- ---------- ---------- ---------- 1 unkn 0 0 / 16 docu 0 15 /Briefcase 10 appo 0 52 /Calendar 14 mess 0 1564 /Chats 7 cont 0 7 /Contacts 6 mess 0 56 /Drafts 13 cont 0 179 /Emailed Contacts 2 mess 0 5352 /Inbox 65450 mess 0 12433 /Inbox/ 1.04.2015 31907 mess 0 3125 /Inbox/ 5993 mess 0 881 /Inbox/ 4 mess 0 0 /Junk 5 mess 0 7527 /Sent 15 task 0 8 /Tasks 3 unkn 0 0 /Trash 1770 mess 7 7 /Trash/. (support@corp.org:703) 3741 docu 0 1 / 87195 docu 0 1 / 1015 docu 0 12 / 663 cont 0 1 / 290 task 0 2 / 1100 mess 4404 22301 /. - (support@corp.org:2)
ご覧のとおり、私たちはすべてに満ちています。 [表示]列には目が事前に開かれており、フォルダーの種類があることがわかります。 メッセージフォルダーが必要です-これは混乱です。 必要なものがわかっているので、リクエストをフィルタリングできます。
/opt/zimbra/bin/zmmailbox -z -m user@corp.org gaf | grep mess
クエリ出力:
Id View Unread Msg Count Path ---------- ---- ---------- ---------- ---------- 14 mess 0 1564 /Chats 6 mess 0 56 /Drafts 2 mess 0 5352 /Inbox 65450 mess 0 12433 /Inbox/ 1.04.2015 31907 mess 0 3125 /Inbox/ 5993 mess 0 881 /Inbox/ 4 mess 0 0 /Junk 5 mess 0 7527 /Sent 1770 mess 7 7 /Trash/. (support@corp.org:703) 1100 mess 4404 22301 /. - (support@corp.org:2)
ご覧のとおり、さらに必要なリストを取得していますが、
1100の混乱4404 22301 / Tech。 サポート-受信ボックス(support@corp.org:2) -これは別のメールボックスの共有フォルダーであるため、個別にチェックされます。 もう1つ例外を追加して、不要なものすべてをすぐに削除します:型、シリアル番号、スラッシュ(フォルダー名)まですべてを削除します。
/opt/zimbra/bin/zmmailbox -z -m user@corp.org gaf | grep mess | cut -d"/" -f 2- | grep -v "@corp.org"
目的のリストを取得します。
チャット
工芸品
受信トレイ
受信トレイ/ 2015年4月4日まで
受信トレイ/マーケティング
受信トレイ/ユーレカ
ジャンク
送信済み
小さくてまれな利便性のために、コマンドの出力をファイルにリダイレクトすると、スクリプトは既にファイルからフォルダーの名前を取得します。 そのため、最も難しいのはフォルダーを調べることではなく、名前にスペースまたは特殊文字が含まれているフォルダーを調べることです。
コンソールに入力する場合:
/opt/zimbra/bin/zmmailbox -z -m user@corp.org s -l 300 in:Inbox/ | grep `date -d '-5 day' +%m/%d/%y` | grep "" | sed -e "s/^\s\s*//" | sed -e "s/\s\s*/ /g"
5日前の手紙のトピックを表示します。
date -d '-5 day' +%m /%d /%yの代わりに、ロールバックする必要がある日数に応じて、すぐに01/27/16
形式で日付を書き込むか、
-5を別の値に
変更できます。
ただし、次を入力した場合:
/opt/zimbra/bin/zmmailbox -z -m user@corp.org s -l 300 in:Inbox/ | grep `date -d '-5 day' +%m/%d/%y` | grep "" | sed -e "s/^\s\s*//" | sed -e "s/\s\s*/ /g"
そのエラーは落ちます:
ERROR: mail.NO_SUCH_FOLDER (no such folder path: /Inbox/\)
そして、引用符、アポストロフィ、スクリーンで自分自身を囲むこともできます-それは役に立ちません。
それから 、彼らは私が質問への答えを見つけた
ウィキを指し示しました。
問題を解決するには、特定のブロックにスペースを含むフォルダーの名前を入力します。
「\」はブロックタグです。
/opt/zimbra/bin/zmmailbox -z -m user@corp.org s -l 300 in:"\"Inbox/ "\"
コンソールでこれを実行すると、必要な結果が得られましたが、私のタスクはすべてをスクリプト化することでした。 そして、私のスクリプトでは、フォルダーの名前を含む変数がファイルからデータを取得しました。
/opt/zimbra/bin/zmmailbox -z -m user@corp.org gaf | grep mess | cut -d"/" -f 2- | grep -v "@corp.org" > /tmp/messfolder.list
そして、コードに変数を挿入するとき:
/opt/zimbra/bin/zmmailbox -z -m $is -l 300 in:"\"$p"\" | grep `date -d '-5 day' +%m/%d/%y` | grep "" | sed -e "s/^\s\s*//" | sed -e "s/\s\s*/ /g" |
私はまったく同じエラーを受け取りました:
ERROR: mail.NO_SUCH_FOLDER (no such folder path: /Inbox/\)
ただし、変数は必要なブロックタグに配置されます。 もう少し検索した後、IFSフィールド区切り変数につまずいたことを
思い出しました。 IFS = $ '\ n'に設定し、スクリプトを実行しました-すべてが計画通りに進みました。
もちろん、スクリプトはさらに改善できます。不要なフォルダーを削除し、日付と件名を事前に入力してください。しかし、これはそれほど重要ではありません。 このスクリプトは、自家製のウェブベースの管理パネルに掛けられており、削除するすべての日付とトピックを入力します。すべてがより便利です。
誰かがこれは不必要であると考えており、そのようなスクリプトは不必要ですが、実践が示しているように、彼は少なくとも10人と数人のボスを救いました。 彼らは気分が良く、管理者も気分が良くなった後、気分が良くなりました。
このスクリプトにはマイナスが1つあります。時間です。 このスクリプトは、700ユーザーのすべてのフォルダーを4時間で実行します。 これまでのところ、どこで時間を購入できるかを特定していませんが、教えてくれたり、エラーを指摘したりしていただければ幸いです。
読んでコメントしてくれてありがとう。