Aşağıdaki script farklı dizinlerde oldtarih datası olup olmadığını kontrol eder, eğer varsa listesini bir dosyaya
yazar ve bu dosyadaki dosya isimlerinin tar 'ını alır. Dosya sayısı bir-kaç binden fazlaysa tar almak için tar -T opsiyonu kullanmak iyidir. Aksi durumda "argument list too long" hatası alınır.
for uydutip in EOS RESIM MPEF NOAA ; do
oldtarih=20090729
ls $uydutip|grep $oldtarih >/dev/null 2>&1
if [ $? -eq 0 ] ; then
ls $uydutip|grep $oldtarih|awk '{print $0}'|sed "s:^.:$uydutip\/&:g" >$fulpat/loglar/$uydutip.list
if [ "$uydutip" = "EOS" -o "$uydutip" = "MPEF" -o "$uydutip" = "NOAA" ] ; then
tar -czvf $uydutip.$oldtarih.tar.gz -T $fulpat/loglar/$uydutip.list
else
tar -cvf $uydutip.$oldtarih.tar -T $fulpat/loglar/$uydutip.list
fi
else
echo "$uydutip - $oldtarih tarihli data YOK ..--"
fi
done
Monday, August 3, 2009
Thursday, June 11, 2009
kolon toplamının bulunması
linux dosya sisteminde dosyaların toplam boyutu aşağıdaki gibi bulunabilir;
ls -l |awk '{print $5}'|awk '{sum=sum+$NF;print sum}'
ls -l |awk '{print $5}'|awk '{sum=sum+$NF;print sum}'
Monday, June 8, 2009
Wednesday, May 27, 2009
4 ay önceki yil ve ayı bulmak;
#!/bin/bash
# Bu script 4 ay onceki yil ve ayi hesaplar
#
yil=`date +%Y`
ay=`date +%m`
geriay=4
#echo $yil $ay
((olday=ay-geriay))
case $olday in
0)
((yil=yil-1))
olday=12
;;
-1)
((yil=yil-1))
olday=11
;;
-2)
((yil=yil-1))
olday=10
;;
-3)
((yil=yil-1))
olday=9
;;
esac
if [[ $olday -lt 10 ]] ; then
olday=0${olday}
fi
echo $yil $olday
#!/bin/bash
# Bu script 4 ay onceki yil ve ayi hesaplar
#
yil=`date +%Y`
ay=`date +%m`
geriay=4
#echo $yil $ay
((olday=ay-geriay))
case $olday in
0)
((yil=yil-1))
olday=12
;;
-1)
((yil=yil-1))
olday=11
;;
-2)
((yil=yil-1))
olday=10
;;
-3)
((yil=yil-1))
olday=9
;;
esac
if [[ $olday -lt 10 ]] ; then
olday=0${olday}
fi
echo $yil $olday
Monday, May 25, 2009
Subscribe to:
Comments (Atom)
