আমার কিছু ক্রোন জব সেটআপ হয়েছে এবং তারা ক্রোনস ফলাফলটি একটি ইমেইলে প্রেরণ করে। এখন কয়েক মাস ধরে আমি বিপুল সংখ্যক ইমেল সংগ্রহ করেছি।
এখন আমার প্রশ্ন হল আমি কীভাবে এই সমস্ত ইমেলগুলি আমার মেলবক্স থেকে পরিষ্কার করতে পারি?
আমার কিছু ক্রোন জব সেটআপ হয়েছে এবং তারা ক্রোনস ফলাফলটি একটি ইমেইলে প্রেরণ করে। এখন কয়েক মাস ধরে আমি বিপুল সংখ্যক ইমেল সংগ্রহ করেছি।
এখন আমার প্রশ্ন হল আমি কীভাবে এই সমস্ত ইমেলগুলি আমার মেলবক্স থেকে পরিষ্কার করতে পারি?
উত্তর:
/var/mail/usernameনির্দিষ্ট ব্যবহারকারীর জন্য সমস্ত ইমেল মুছতে আপনি কেবল ফাইলটি মুছতে পারেন । এছাড়াও, বহির্গামী হওয়া কিন্তু এখনও প্রেরণ করা হয়নি এমন ইমেলগুলি সংরক্ষণ করা হবে /var/spool/mqueue।
usernameআপনি যে ইমেলগুলি মুছে ফেলতে চান তার সাথে প্রতিস্থাপন করতে হবে। আপনার ক্ষেত্রে, ইমেলগুলি কল করা ব্যবহারকারীকে প্রেরণ করা হচ্ছে cron_results, তাই আপনাকে মুছতে হবে /var/www/cron_results।
বিকল্প উপায়:
mail -N
d *
quit
-Nমেল পড়ার সময় বা কোনও মেল ফোল্ডার সম্পাদনা করার সময় বার্তা শিরোনামগুলির প্রাথমিক প্রদর্শনকে বাধা দেয়।
d *সমস্ত মেল মুছুন
> mboxহোম ডিরেক্টরিতে টাইপ করে সমস্ত সংরক্ষিত মেলগুলি মুছতে চান , এটি কেবল এমবক্স ফাইলটি ছাঁটাই করে।
শুধু ব্যবহার করুন:
mail
d 1-15
quit
যা 1 এবং 15 নম্বরের মধ্যে সমস্ত বার্তা মুছে ফেলবে all সমস্ত মুছতে, ব্যবহার করুন d *।
আমি কেবল এটি নিজেকে ওবুন্টু 12.04.4 এ ব্যবহার করেছি এবং এটি একটি কবজির মতো কাজ করেছে।
উদাহরণ স্বরূপ:
eric@dev ~ $ mail
Heirloom Mail version 12.4 7/29/08. Type ? for help.
"/var/spool/mail/eric": 2 messages 2 new
>N 1 Cron Daemon Tue Jul 29 17:43 23/1016 "Cron <eric@ip-10-0-1-51> /usr/bin/php /var/www/sandbox/eric/c"
N 2 Cron Daemon Tue Jul 29 17:44 23/1016 "Cron <eric@ip-10-0-1-51> /usr/bin/php /var/www/sandbox/eric/c"
& d *
& quit
তারপরে আপনার মেলটি আবার পরীক্ষা করুন:
eric@dev ~ $ mail
No mail for eric
eric@dev ~ $
আপনাকে কী ট্রিপ করছে তা হ'ল আপনি যা ব্যবহার করছেন xবা exitসেই অধিবেশন চলাকালীন যা পরিবর্তনগুলি ফিরিয়ে আনবে তা ছাড়ুন।
d*কমপক্ষে, এর মধ্যে কোনও স্থান নেই CentOS 7।
exitপরিবর্তে ব্যবহার করে quitআমাকে ট্রিপ আপ ছিল। exitঅধিবেশনটি বাতিল করে দেবে, সুতরাং মোছা মুলতুবি থাকা কোনও ইমেল অক্ষত থাকবে। quitপরিবর্তনগুলি আবার লিখবেন, সুতরাং মোছা ইমেলগুলি সেই সময়ে প্রতিশ্রুতিবদ্ধ।
d 1-15দেবিয়ান 8 এ কাজ করে। ধন্যবাদ!
মুছে ফেলার পরিবর্তে, আমি মনে করি আমরা ফাইলটি বাতিল করতে পারি, কারণ মেল পরিষেবাটি চালু থাকলে ফাইলটি তৈরি করা হবে। নিম্নলিখিত কিছু কাজ করবে
cat /dev/null >/var/spool/mail/tomlinuxusr
এবং হ্যাঁ, এই পুরানো সুতার জাগরণের জন্য দুঃখিত তবে আমি অনুভব করেছি যে আমি অবদান রাখতে পারি।
এক রৈখিক:
echo 'd *' | mail -N
yes 'd' | mailআশানুরূপ কাজ করে।
ইউনিক্স / লিনাক্স / ম্যাক ওএস এক্সে আপনি ফাইলগুলি অনুলিপি এবং ওভাররাইড করতে পারেন, তাই না? সুতরাং কিভাবে এই সমাধান সম্পর্কে:
cp /dev/null /var/mail/root
আপনি যদি নিজের মেইল সার্ভারে সাইরাস / স্যাসল / ইমপ ব্যবহার করে থাকেন তবে মেলবক্সে পুরানো যে সমস্ত কিছু নির্ধারণের জন্য একটি দ্রুত এবং কার্যকরী উপায়, তারপরে নির্দিষ্ট দিনগুলির মধ্যে সাইরাস / ইমাম্প আইপুজ কমান্ড ব্যবহার করা। উদাহরণস্বরূপ, এখানে একটি উদাহরণ সরানোর সবকিছু (সাবধান থাকো !!), ব্যবহারকারীর কাছ থেকে তারপর 30 পুরোনো দিন vleo । লক্ষ্য করুন, আপনাকে অবশ্যই সাইরাস (ইমপ্যাপ মেল প্রশাসক) ব্যবহারকারী হিসাবে লগ ইন করতে হবে :
[cyrus@mailserver ~]$ /usr/lib/cyrus-imapd/ipurge -f -d 30 user.vleo
Working on user.vleo...
total messages 4
total bytes 113183
Deleted messages 0
Deleted bytes 0
Remaining messages 4
Remaining bytes 113183
"ডি" ব্যবহারের পরিবর্তে, কেন "পি" ব্যবহার করবেন না। "পি *" কাজ করবে কিনা তা আমি নিশ্চিত নই। আমি সেটা চেষ্টা করিনি। আপনি পারেন; তবে নিম্নলিখিত স্ক্রিপ্ট ব্যবহার করুন "
#!/bin/bash
#
MAIL_INDEX=$(printf 'h a\nq\n' | mail | egrep -o '[0-9]* unread' | awk '{print $1}')
markAllRead=
for (( i=1; i<=$MAIL_INDEX; i++ ))
do
markAllRead=$markAllRead"p $i\n"
done
markAllRead=$markAllRead"q\n"
printf "$markAllRead" | mail