Sistem yönetimi

Kasım 18, 2011

expect aracının kullanımı. sftp / expect entegrasyonu

Filed under: expect,sftp,Solaris 10 — mbuyukkarakas @ 2:08 pm
Tags:

Bir iş için SFTP bir web sitesinden firmaddmmyy.firmaadi formatında dosya indirilmesi ve bunun rutin olarak yapılması istendi. FTP olsa kolaydı, bir shell scripti içinde alt alta komutları sıralayınca basitçe halledebilirdik ancak site yalnızca SFTP destekleyince işler karıştı.

SFTP ile yine argümanları sırasıyla ve ayrı ayrı göndermek mümkün ama iş kullanıcı adından sonra şifre göndermeye gelince SFTP mızıkçılık yapıyor. İzin vermiyor yani.

Bu durumda araya bir ‘şey’in girip bu tür girdi bekleyen komutlara istediği cevabı göndermesi ve bunu da yine bir ‘yığın’ mantığıyla yapması gerekiyor. Gözüken buydu.

İşte burada ‘expect’ devreye giriyor. TCL diliyle entegre olan bu uygulama, bu tür ihtiyaçları karşılamak için birebir. Ancak Solaris için expect’i Sunfreeware.com’dan indirmek çok zahmetli. Bağımlılıklar can sıkıyor. OpenCSW’den indirmek daha kolay.

Expect’in detaylarına girecek değilim ama basit bir örnekle anlatmakta fayda görüyorum.

#!/opt/csw/bin/expect -f
# Asagidaki DOSYA_ADI degiskeni, sistem icinde tanimlaniyor. Olmadan calismayacaktir.
set timeout -1
spawn /usr/bin/sftp mahmure@veri.com
expect “password”
send “123456\r”
expect “sftp”
send “cd mahmure\r”
expect “sftp”
send “ls -l\r”
expect “sftp”
send “lcd /data/ftp/mahmure_local\r”
expect “sftp”
send “get $env(DOSYA_ADI)\r”
expect “sftp”

 

Dosya adını da aşağıdaki şekilde formatladım.

export DOSYA_ADI=DOSYA`date ‘+%d%m%y’`.VERI

 

Aşağıda da bu konu hakkındaki enteresan linkler bulunuyor.

Automating sftp with expect script

http://jibbysununix.blogspot.com/2010/01/automating-sftp-with-expect-script.html

Scripting the OpenSSH, SFTP
http://www.scottklement.com/presentations/Setting%20up%20and%20Scripting%20the%20OpenSSH,%20SFTP%20and%20SCP%20Utilities%20on%20IBM%20i.pdf

SFTP Bash script with expect

http://www.admin-hints.com/2009/05/sftp-bash-script-with-expect.html

Automating SFTP using expect
http://www.linux-bsd-central.com/index.php/content/view/26/
http://www.stratigery.com/scripting.ftp.html

Theme: Rubric. WordPress.com'dan blog alın.

Takip Et

Get every new post delivered to your Inbox.

Join 31 other followers