Google

Tuesday, July 31, 2007

Bizim mail sisteminde mailler maildir formatında tutuluyordu. Disk sıkıntısı cektiğimiz icin aktif olmayan hesaplardaki mailleri silmemiz gerekiyordu. Ama bu işlemi yaparken bu kullanıcılardan herhangi biri daha sonra ortaya çıkıp nerede benim maillerim derse diye TSM üstünde silinecek maillerin archive inin alınmasını da sağlamak gerekti. İlk önce TSM üstünde bu node'un kullandıgı class set ayarlamalarını bir sene yapıp maillerin archiveden silinmemesini sagladıktan sonra artık aix üstünde çalışan scripti hazırlamak kaldı. Tsm tarafı ayrı bir derya. Bu işlemi yaparken TSM in basarıya ulaştıgından da emin olmak ve bunun kontrolunu yapmak gerekiyordu. Aşağıda 6000000 civarında dosyanın taşınıp, tape e cıkmasını saglayan script var.
0>uyarilmamasigerekenler.dat
0>backupalinipsilinenler.dat
0>silinenler.dat
0>onemlilog
echo "27 temmuz 2007 de yapılan calismanin loglari" >>silinenler.dat
for i in $(cat anadata1)
do
du -m -s /mail/vmail/$i >bufferdu
cat bufferdu
tam=$(cat bufferdu awk {'print $1'} cut -d. -f1)
if [[ tam -lt 200 ]]
then
echo " $i " >>uyarilmamasigerekenler.dat
else
find /mail/vmail/$i -type f grep -E "email2email1email3email4mail1_rsctmail2_rsct" >silmeli.dat
find /mail/vmail/$i -type f grep -E "email2email1email3email4mail1_rsctmail2_rsct" cpio -pd /mail/kota
dsmc archive "/mail/kota/mail/vmail/$i/*" -subdir=yes -deletefiles
OUT=$?
if [ $OUT -eq 0 ];
then
cat silmeli.datwhile read silinecek;do
echo "${silinecek}" >>silinenler.dat
x="${silinecek}"
rm "$x"
done
else
echo "Fatal oldum laaannn" >>onemlilog
date >>onemlilog
exit 0
fi
fi
done

No comments: