PfSense 5651 to FTP Shell Script
-
Selamlar ;
Bir arkadaşımız için hazırladığım 5651 scriptini sizlerle paylaşmayı düşündüm. Üzerinde çok fazla duramadım ama ilerleyen zamanlarda daha iyisini geliştirip tekrar sizinle paylaşırım. Şimdilik benden istenen sadece ilgili logların FTP Sunucusuna gönderilmesi ve eski logların temizlenmesiydi.
Kurulum için hiçbir ekstra paket kurmanıza gerek yok.İlgili dosyaları kendinize göre düzenledikten sonra ilgili dizinlere kopyalayip çalıştırmanız yeterlidir. Bir sonra ki versiyonda Script’e Samba Client kullanarak Windows ortamdaki bilgisayara aktarılmasını, Proxy loglarını veya http isteklerini de güzelce parse edip güzel birşeyler ortaya çıkartmaya çalışırız.
5651.sh dosyasi#!/bin/sh # _____ __ __ ______ _________ _______ _ __ __ ______ # / ____| /\ | \/ | ____|__ __\ \ / /_ _| | | \/ | /\ |___ / # | (___ / \ | \ / | |__ | | \ \_/ / | | | | | \ / | / \ / / # \___ \ / /\ \ | |\/| | __| | | \ / | | | | | |\/| | / /\ \ / / # ____) / ____ \| | | | |____ | | | | _| |_| |____| | | |/ ____ \ / /__ # |_____/_/ \_\_| |_|______| |_| |_| |_____|______|_| |_/_/ \_\/_____| # Date : 22.05.2015 # Web : www.netyum.com.tr # Mail : sametyilmaznet@gmail.com # Blog : www.sametyilmaz.com.tr logger "5651.sh dosyasi calistirildi!" #Degiskenler #FTP Connection Information HOST='ip veya host' USER="kullaniciadiniz" PASSWD="sifreniz" FILE="/5651/*.tar.gz" REMOTEPATH='5651' #Ftp Log File FTPLOG=/tmp/ftplogs.out #Date Tarih=`date "+%Y%m%d-%H%M%S"` #DHCP File DhcpLogD=/var/dhcpd/var/db/dhcpd.leases #HTTP File HttpLogD=/var/squid/logs/access.log #Awk Script ParseD=/sbin/5651.awk #Hazirlik Dizinimiz LogWorkD=/5651 if [ ! -d $LogWorkD ] then mkdir $LogWorkD echo "$LogWorkD olusturuldu!" sleep 1 fi #DHCP Islemleri if [ -f $DhcpLogD ] then /usr/bin/awk -f $ParseD < $DhcpLogD > $LogWorkD/dhcp-$Tarih.txt tar -zcvf $LogWorkD/dhcp-$Tarih.tar.gz $LogWorkD/dhcp-$Tarih* echo "Dhcp islemleri tamamlandi!" logger "Dhcp islemleri tamamlandi!" else echo "DHCP Leases dosyasi bulunamadi!" logger "Dhcp Leases dosyasi bulunamadi." fi sleep 3 #HTTP islemleri if [ -f $HttpLog ] then cp $HttpLogD $LogWorkD/http-$Tarih.txt tar -zcvf $LogWorkD/http-$Tarih.tar.gz $LogWorkD/http-$Tarih* echo "HTTP dosyasi olusturuldu!" logger "Http dosyasi olusturuldu!" else echo "HTTP dosyasi bulunamadi!" logger "HTTP dosyasi bulunamadi!" fi sleep 5 ##FTP Baglantisi ftp -nv $HOST > $FTPLOG 2>&1 <<-EOF quote USER $USER quote PASS $PASSWD cd $REMOTEPATH prompt mput $FILE EOF if grep "Not Connected" $FTPLOG then echo "FTP baglantisi yapilamadi!" logger "FTP baglantisi yapılamadi!" elif grep "Transfer complete" $FTPLOG then echo "FTP baglantisi olusturuldu!" logger "Dosya Transferi tamamlandi!" else echo "FTP baglantisinda bir hata olustu!Tekrar deneyin..." logger "FTP baglantisinda bir hata olustu!Tekrar deneyin..." fi echo $? sleep 3 rm -rf /5651 echo "Hazirlik dizini silindi!" logger "Hazirlik dizini silindi!" echo "FTP loglari siliniyor..." rm -rf $FTPLOG echo "FTP loglari silindi" logger "5651 Islemleri tamamlandi!" echo " ############################################################################## ######################ISLEMLER TAMAMLANDI!!!!################################# ######################www.sametyilmaz.com.tr################################## "
5651.awk
#ip adresi /lease / { ip = $2 } # Baslangic tarihi. /starts / { baslangic = $3; bsaat = $4; gsub(";", "", time) } # Bitis tarihi /ends / { bitis = $3; bitiss = $4; gsub(";", "", time) } # Hostname adi /client-hostname / { host = $2; gsub("[;\"]", "", host) } # Mac adresi /hardware ethernet / { mac = $3; gsub(";", "", mac) } # Ekrana yazdir. /\}/ { print "Hostname : " host " Ip :" ip " Mac :" mac " Baslangic : " baslangic " " bsaat " Bitis : " bitis " " bitiss }
Kurulum için /sbin dizini altında 5651.sh ve 5651.awk isimli dosya olusturun ve bilgileri kendinize göre düzenledikten sonra aşağıdaki komutla yetkilendirmeyi tamamlayın.
chmod +x /sbin/5651.sh /sbin/5651.awk
İşlemler tamamlandıktan sonra dosyası aşağıda ki şekilde çalıştırıp test yapabilirsiniz.
sh /sbin/5651.sh
Eğer aşağıdaki şekilde bir cron girdisi oluşturursanız günün belirli saatlerinde logların ftp sunucunuza otomatik gönderilmesini sağlamış olursunuz.
İsterseniz yukarıdaki dosyaları aşağıda ki link’ten download edebilirsiniz.
http://sametyilmaz.com.tr/pfsense/pfSense5651toFTP.rar -
teşekkürler kardeşim. senin bu emeklerinin karşılığını teşekkürle ödemek mümkün değil biliyorum ancak buradan bu kadar.
Emeğine sağlık.
-
@MuratRaci:
teşekkürler kardeşim. senin bu emeklerinin karşılığını teşekkürle ödemek mümkün değil biliyorum ancak buradan bu kadar.
Emeğine sağlık.
Güzel yorumun için teşekkür ederim abi. Elimizden geldiğince birşeyler yapmaya çalışıyoruz inşallah birilerinin işine yarıyordur.
-
kurulumu yaptım. ama ftpye bağlantı sırasında sorun yaşıyorum. filezilla ile ftp server kurdum. logları atıyor ama log dosyaları bozuk bir şekilde iletiliyor. "rm -rf /5651" kodunu silip oluşturulan 5651 klasörünün içerisine girip baktığımda ise loglar tamamen sağlıklı olarak duruyor. acaba nerede yanlış yaptım yardımcı olabilir misiniz?
-
kurulumu yaptım. ama ftpye bağlantı sırasında sorun yaşıyorum. filezilla ile ftp server kurdum. logları atıyor ama log dosyaları bozuk bir şekilde iletiliyor. "rm -rf /5651" kodunu silip oluşturulan 5651 klasörünün içerisine girip baktığımda ise loglar tamamen sağlıklı olarak duruyor. acaba nerede yanlış yaptım yardımcı olabilir misiniz?
Selam,
FTP Sunucunuzla ilgili bir problem olabilir mi ? Kullanan bir kaç arkadaşım da herhangi bir sorun gözükmemektedir. FTP loglarını sildirdiğimiz satırı'da yorum satırı haline getirip FTP logunu paylaşırmısınız. ?
-
@Samet:
kurulumu yaptım. ama ftpye bağlantı sırasında sorun yaşıyorum. filezilla ile ftp server kurdum. logları atıyor ama log dosyaları bozuk bir şekilde iletiliyor. "rm -rf /5651" kodunu silip oluşturulan 5651 klasörünün içerisine girip baktığımda ise loglar tamamen sağlıklı olarak duruyor. acaba nerede yanlış yaptım yardımcı olabilir misiniz?
Selam,
FTP Sunucunuzla ilgili bir problem olabilir mi ? Kullanan bir kaç arkadaşım da herhangi bir sorun gözükmemektedir. FTP loglarını sildirdiğimiz satırı'da yorum satırı haline getirip FTP logunu paylaşırmısınız. ?
tekrar deneyip paylaşacağım. siz pfsense'in hangi sürümünü ve hangi ftp serveri kullanıyorsunuz?
–------loglar----------
ftp loglarım aşağıdaki gibidir:Connected to 10.0.0.6. 331 Password required for sasa 230 Logged on 250 CWD successful. "/5651" is current directory. Interactive mode off. local: /5651/dhcp-20150607-135038.tar.gz remote: /5651/dhcp-20150607-135038.tar.gz 229 Entering Extended Passive Mode (|||58590|) 150 Opening data channel for file upload to server of "/5651/dhcp-20150607-135038.tar.gz" 226 Successfully transferred "/5651/dhcp-20150607-135038.tar.gz" 121 bytes sent in 00:00 (1.03 KiB/s) local: /5651/http-20150607-135038.tar.gz remote: /5651/http-20150607-135038.tar.gz 229 Entering Extended Passive Mode (|||60258|) 150 Opening data channel for file upload to server of "/5651/http-20150607-135038.tar.gz" 226 Successfully transferred "/5651/http-20150607-135038.tar.gz" 2949 bytes sent in 00:00 (107.83 KiB/s) 221 Goodbye
ve ayrıca shell de böyle bi hata alıyorum
HTTP dosyasi olusturuldu! FTP baglantisinda bir hata olustu!Tekrar deneyin... 0 Hazirlik dizini silindi!
-
Çalışma için öncelikle teşekkür ederim.Bende ftp tarafında aynı hatayı aldım kullandıgım pfsense surumu 2.1.3 ftp olarakta filezilla kullandım ve buna ek olarak web sitesine ait ftp bılgılerını kullandım sonuc yıne degısmedı.
-
Çalışma için öncelikle teşekkür ederim.Bende ftp tarafında aynı hatayı aldım kullandıgım pfsense surumu 2.1.3 ftp olarakta filezilla kullandım ve buna ek olarak web sitesine ait ftp bılgılerını kullandım sonuc yıne degısmedı.
Selam izne çıktım döndüğümde ilgileneceğim.
-
@Samet:
Çalışma için öncelikle teşekkür ederim.Bende ftp tarafında aynı hatayı aldım kullandıgım pfsense surumu 2.1.3 ftp olarakta filezilla kullandım ve buna ek olarak web sitesine ait ftp bılgılerını kullandım sonuc yıne degısmedı.
Selam izne çıktım döndüğümde ilgileneceğim.
Hoş geldiniz yardımlarınız için şimdiden teşekkür ederim.
-
FTP Problemini aşabilen var mı? Dosya karşıya geçerken bozuluyor.