Merhaba,
grep kullanmaya gerek olduğunu sanmıyorum.
Bir bash script'i yazacağınızı düşünürsek; $? dinamik değişkeni işlem
sonucunu zaten tutuyor olacaktır.
$? == 0 --> işlem başarılı
$? != 0 --> işlem başarısız
Örneğin;
#!/bin/bash
scp a.txt user1_at_ip_no:/home/a/.
if [ $? -eq 0 ]; then
echo "scp basarili"
# .....diger komutlar......
else
echo "scp basarisiz" >> err.log
fi
Merhaba,
Yazdığım betik aşağıdaki gibi.
#!/bin/bash
####otomatik dosya at
SOUR_DIR=/var/ftp/dosya
DEST_DIR=/var/www/html/inter/pcbild/dosya
DEST_IP=10.10.10.2
log=log.`date +"%d-%m-%Y"`
touch $log
ping -c5 $DEST_IP | grep "64" >> /dev/null
if [ $? -eq 0 ];then
echo "Sunucuya Hat var" >> $log
ls $SOUR_DIR | grep "EG*" >> /dev/null
if [ $? -eq 0 ];then
echo "Dosya gelmis" >> $log
scp $SOUR_DIR/EG* -l root $DEST_IP:$DEST_DIR/. > /dev/null 2>&1
if [ $? -eq 0 ];then
echo "Dosya basariyla atildi." >> $log
mv $SOUR_DIR/EG* $SOUR_DIR/islenenler/.
else
echo "Dosya atilamadi! Sunucuya ssh baglantisi yok! ISLEM BASARISIZ !!!"
>> $log
fi;exit 0
else
echo "Dosya gelmemis" >> $log
fi;exit 0
else
echo "Sunucuya Hat yok! ISLEM BASARISIZ !!!!" >> $log
fi
exit 0
SORUN: dosya başarıyla atılıyor. Ancak oluşturulan log dosyası Dosya
atilamadi! Sunucuya ssh baglantisi yok! İslem basarisiz kısmını
oluşturuyor. Yani Dosya başariyla atildi ;mv $SOUR .... kısmı çalışmıyor.
_______________________________________________
Linux-programlama mailing list
Linux-programlama_at_liste.linux.org.tr
http://liste.linux.org.tr/mailman/listinfo/linux-programlama
Received on Fri 03 Apr 2009 - 20:22:55 EEST