Posts Tagged ‘alpine’

Alpine mass delete messages

Friday, March 7th, 2014

You have new mail.

Почти не използвам локалната пощенска кутия. Всъщност единственото за което я ползвам е да следя за грешки по кроновете които работят на системата. Принципно целия STDOUT+STDERR бива изпращан по мейл на текущия потребител. STDOUT не ми трябва, понеже често си оставям някакви дебъгващи принтове тук-таме по скриптовете. За това си описвам задачите с >/dev/null. По този начин STDOUT се филтрира, и остава само STDERR. Ако искам да махна абсолютно целия изход от изпълнението правя >/dev/null 2>&1.

Ако нещо по кроновете видимо не работи, отварям пощата и чета. Обикновено я преглеждам през няколко седмици за да изтрия старите логове от крона. За това използвам alpine, понеже не ми се занимава с никакви тежки и сериозни GUI изпълнения като Thunderbird. Удобно е да се логна в ssh от където и да е и да изтараша пощенската кутия.

Днес alpine се стартира малко по-бавно и какво да гледам в пощенската кутия – 12 136 писма. Оказа се че съм написал доста тъпо един от кроновете:


*/5 * * * * cd /home/ivanatora/rilski_ezera; wget "http://www.rilskiezera.bg/meteo/rilskiezerahut.jpg" -O img_`date +\%Y-\%m-\%d_\%R`.jpg >/dev/null

Това сваля снимка от х. Рилски Езера на всеки 5 минути и по-късно си правя таймлапс със свалените изображения. Въпросът е защо така злобно ми е нафлудил пощата, при условие че STDOUT е филтриран?

Защото съм забравил че `wget` не принти съобщенията си в STDOUT, а вместо това в STDERR (факт)…

Както и да е – оправих крона, но сега проблема беше как да изчистя пощенската кутия с alpine. Обикновено трия пощата по следния начин – отивам върху първото писмо и задържам D. Това го маркира за изтриване (което ще се случи след затваряне на клиента) и преминава към следващото. Това минава през съобщенията едно след друго и нормално за няколко секунди изчиствам цялата кутия. Само че в случая с 12 хиляди писма това би ми отнело към 20 минути набиране върху D-то.

Поблъсках се малко и намерих процедурата за изтриване на всички съобщения:

1. В INBOX се натиска `;` за Select messages
2. Натиска се A за Select all.
3. Натиска се A за Apply command
4. Натиска се D за Delete

След това се излиза нормално от клиента с ^X и писмата се изтриват.