WinSCP komutunu kullanarak otomatik bir dosya indirme ve yükleme aracı nasıl oluşturulur.


Yayın Tarihi:9 Aralık 2020.



INFOMARTION > WinSCP komutunu kullanarak otomatik bir dosya indirme ve yükleme aracı nasıl oluşturulur.

Genel bakış.

WinSCP komutunu kullanarak otomatik bir dosya indirme ve yükleme aracı oluşturun. Komut istemini kullanarak WinSCP tarafından sağlanan komutları yürütün. Şaşırtıcı olmayan bir şekilde, WinSCP komutlar sağlar. Normalde 'WinSCP.exe' kullanırsınız, ancak 'WinSCP.com' da mevcuttur. Genellikle temel olarak kısayoldan açtığınız için kısayol hedefinde "C:\Program Files (x86)\WinSCP" klasörünü neredeyse hiç görmeyeceksiniz, ancak kısayol hedefine bakarsanız, "WinSCP.com" da orada saklanmalıdır. Burası aracın oluşturulduğu yerdir.

İçindekiler

  1. WinSCP komutu nedir?
  2. Otomatik indirme aracı
  3. Otomatik yükleme aracı
  4. Sık kullanılabilecek diğer komutlar
  5. özet

1. WinSCP komutu nedir?

WinSCP komutu, normalde GUI'de gerçekleştirdiğiniz WinSCP işlemlerini gerçekleştirmenizi sağlayan bir komuttur. Normalde ekranda yapacağınız bu işlem, bir komut aracılığıyla gerçekleştirilir.

1-1. Ne yapabilirsin?

Dosyaları indirebilir ve yükleyebilir, klasörler oluşturabilir, kabuk komutlarını çağırabilir ve daha birçok şey yapabilirsiniz.

Sıklıkla kullanılabilecek komutlar şunlardır.

open・・・Bağlantı için kullanılır.

get・・・Dosyaları indirmek için kullanılır.

put・・・Dosya yüklemek için kullanılır.

exit・・・Kesim için kullanılır.

1-2. Yapamayacağın şey.

Temel dosya indirme ve yüklemeleri mümkün, ancak sistemi kullandıktan sonra ayrıntıları kontrol etmek zor görünüyor.

Örneğin, "bir dosyanın güncelleme tarihini kontrol etmek ve belirli bir güncelleme tarihine sahip bir dosyayı getirmek" zor görünüyordu.

Manipüle edilecek dosyaya karmaşık koşullar eklemek istiyorsanız, Windows komutları, Linux komutları vb. kullanılarak elde edilebilen 'call' komutuyla kabuğu çağırabilirsiniz.

2. Otomatik indirme aracı

Linux sunucusuna yerleştirilen günlükleri gerçekten otomatik olarak indirecek bir araç oluşturmak istiyoruz.

2-1. yapmak

Aşağıdaki koşullara sahip bir araç oluşturun.

・Yürütme ortamı olarak Windows 10.

・Alınacak sunucu Linux'tur.

・IP adresi 192.168.50.10.

İlk olarak, aktivasyon için bir başlangıç noktası olarak bir bat dosyası oluşturun.

file_get.bat


@setlocal enabledelayedexpansion
@set time2=%time: =0%
@set MKDIR_NAME=%date:~0,4%%date:~5,2%%date:~8,2%%time2:~0,2%%time2:~3,2%%time2:~6,2%
@set FOLDER=%~dp0%MKDIR_NAME%
@mkdir %FOLDER%
@"C:\Program Files (x86)\WinSCP\WinSCP.com" /console /script=%~dp0ftp.txt /parameter %FOLDER% 

Son satır hariç, işlemin geri kalanı bir Windows komutudur. İçerik.

@setlocal enabledelayedexpansion

Gecikmeli ortam değişkenleri için ayarlar. Kısaca bu açıklama, bir değişkene yansıtılamayacak bir değer atanmasını engeller.

@set time2=%time: =0%
@set MKDIR_NAME=%date:~0,4%%date:~5,2%%date:~8,2%%time2:~0,2%%time2:~3,2%%time2:~6,2%
@set FOLDER=%~dp0%MKDIR_NAME%

Geçerli zamandan yyyymmddhmmss alma ve son olarak FOLDER değişkenine koyma işlemi.

@mkdir %FOLDER%

Doğrudan toplu işin yürütüldüğü klasörün altında bir 'yyyymmddhmmss' klasörü oluşturun.

@"C:\Program Files (x86)\WinSCP\WinSCP.com" /console /script=%~dp0ftp.txt /parameter %FOLDER% 

WinSCP.com (WinSCP komutu). Yürütme, toplu iş dosyasının depolandığı aynı klasördeki "ftp.txt" içinde listelenen komutları çalıştırır. Yeni oluşturduğunuz klasör yolunu argüman olarak iletin.

Bu, arayan dosyasının oluşturulmasını tamamlar. WinSCP komutu daha sonra "ftp.txt" içinde açıklanmaktadır.

ftp.txt


option batch on
option transfer binary
open test:testpassword@192.168.50.10
get /var/log/httpd/access_log %1%\
close
exit

İçerik.

option batch on

Sorgulama gerektiren işlemler için sistem otomatik olarak 'Hayır' seçeneğinin seçildiğini varsayar ve işlemi otomatik olarak yürütür. Bunu eklerseniz, yinelenen dosya adlarının üzerine otomatik olarak yazılır. (Bir "yyyymmddhmmss" klasörü oluşturabilir ve dosyaları buraya koyabilirsiniz, böylece yinelenen dosya adları olmaz.)

option transfer binary

Ayar, verileri ikili modda aktarmak içindir.

open test:testpassword@192.168.50.10

'kullanıcı adı:pass-word@IP adresi'. "192.168.50.10" IP adresine bağlanın.

get /var/log/httpd/access_log %1%\

'/var/log/httpd/access_log' dosyasını 'yyyymmddhhmmss' klasöründe saklayın.('%1%' file_get.bat dosyasında aktarılan argümandır)

Düzenli ifadeler de kullanılabilir, bu nedenle "/var/log/httpd/*" yazarsanız, tüm günlük alınabilir.

close
exit

Bu bir bağlantı kesme sürecidir.

Bu, aracın oluşturulmasını tamamlar.

2-2. uygulama hazırlığı

İnfazdan önce ön parmak izi alma işlemi gerçekleştirilir.

Sunucuya WinSCP aracılığıyla hiç bağlanılmadıysa, bağlanmanın güvenli olup olmadığı sorulacaktır. 'Evet' tuşuna basarsanız, Windows kayıt alanı adı verilen bir yerde 'Evet' tuşuna bastığınıza dair bir kayıt bırakılır. Bu, sistemin ikinci kez kontrol edilmemesini sağlar. Aracı çalıştırırken, bunu önceden yapmak ve bağlanmanın güvenli olduğundan emin olmak için sunucu hakkındaki bilgileri kayıt defteri alanına kaydetmek gerekir, bu nedenle komut isteminde aşağıdaki komutları çalıştırın.

"C:\Program Files (x86)\WinSCP\WinSCP.com"
open test:testpassword@192.168.50.10 ⇒Bir yanıt vermeniz istenir, 'y' girin.
close
exit
exit

'test:testpassword@192.168.50.10', 'kullanıcı adı:şifre@IP adresi' ile değiştirilmelidir.

Böylece ön hazırlıklar tamamlanmış olur.

2-3. uygulama

Son olarak, uygulama zamanı gelmiştir. 'file_get.bat' dosyasına çift tıklayın.

"yyyymmddhhmmss" klasörü oluşturulur ve günlükler bu klasörde saklanırsa başarılı olur.

3. Otomatik yükleme aracı

Bir sonraki adım, dosyaları bir Linux sunucusuna yerleştirmek için bir araç oluşturmaktır. Temel yapı, indirme aracı ile aynı olacaktır.

3-1. yapmak

Aşağıdaki koşullara sahip bir araç oluşturun.

・Yürütme ortamı olarak Windows 10.

・Hedef sunucu Linux'tur.

・IP adresi 192.168.50.10.

İlk olarak, aktivasyon için bir başlangıç noktası olarak bir bat dosyası oluşturun.

file_put.bat


@setlocal enabledelayedexpansion
@set FOLDER_NAME="put_files\*"
@set FOLDER=%~dp0%FOLDER_NAME%
@set PUT_FOLDER="/tmp/"
@"C:\Program Files (x86)\WinSCP\WinSCP.com" /console /script=%~dp0put_ftp.txt /parameter %FOLDER% %PUT_FOLDER%

Otomatik indirme aracında açıklandığı gibi, küçük bir açıklama atlanmıştır, ancak işlem dosyaları toplu iş dosyasının '/tmp/' içinde çalıştırıldığı aynı klasördeki 'put_files' klasöründe saklamaktır. Gerçek depolama işlemi "put_ftp.txt" içinde açıklanmıştır.

put_ftp.txt


option batch on
option transfer binary
open test:testpassword@192.168.50.10
put %1% %2%
close
exit

"put %1%\ %2%" komutu, argüman olarak aktarılan "kaynak dosya" ve "hedef klasöre" göre dosyaları yükler, ancak bu otomatik indirme aracında da açıklandığı için küçük bir açıklama atlanmıştır.

3-2. uygulama hazırlığı

Otomatik indirme aracında olduğu gibi, parmak izleri yürütülmeden önce önceden kontrol edilir.(Otomatik indirme aracı bir kez çalıştırılmışsa gerekli değildir.)

Komut isteminde aşağıdaki komutu çalıştırın.

"C:\Program Files (x86)\WinSCP\WinSCP.com"
open test:testpassword@192.168.50.10 ⇒Bir yanıt vermeniz istenir, 'y' girin.
close
exit
exit

'test:testpassword@192.168.50.10', 'kullanıcı adı:şifre@IP adresi' ile değiştirilmelidir.

Böylece ön hazırlıklar tamamlanmış olur.

3-3. uygulama

Son olarak, uygulama zamanı gelmiştir. 'file_put.bat' dosyasına çift tıklayın.

'put_files' içinde saklanan dosyalar '/tmp/' klasörüne aktarılırsa başarılı olur.

4. Sık kullanılabilecek diğer komutlar

Temel indirme ve yükleme işlemlerini tanıttık, ancak sık kullanılabilecek diğer komutları da açıklamak istiyoruz.

4-1. anahtar kimlik doğrulama

Daha önce, aşağıdaki açıklamaya göre parola kimlik doğrulaması ile oturum açtınız.

open test:testpassword@192.168.50.10

'kullanıcı adı:şifre@IP adresini aç'. Anahtar kimlik doğrulaması için aşağıdakiler geçerlidir.

open test@192.168.50.10 -privatekey=id_rsa.ppk

'-privatekey=id_rsa.ppk' anahtarın yoludur. Göreceli bir yol olarak listelendiği için, anahtarın (id_rsa.ppk) aynı zamanda yürütülebilir dosyanın (bat dosyası) bulunduğu klasörde olduğu varsayılır. Örneğin, anahtar doğrudan C sürücüsünün altında bulunuyorsa, "-privatekey=C:\id_rsa.ppk" yazın.

4-2. Kabuğun çağrılması

WinSCP komutu aracılığıyla kabuğu çağırmak için aşağıdaki gibi yazın.

option batch on
option transfer binary
open test:testpassword@192.168.50.10
call sh /tmp/test.sh
close
exit

'test.sh', 'call sh /tmp/test.sh' tarafından yürütülür. Ayrıca argüman geçmek de mümkündür. Argümanları aktarırken "call sh /tmp/test.sh param1" şeklinde yazın.

5. özet

WinSCP komutu açıklanmıştır.

Normalde günlük olarak dosyaları günlüğe kaydetmek ve yüklemek için WinSCP GUI kullanıyorsanız, bu makalede açıklanan araçları oluşturarak bunu otomatikleştirebilirsiniz. Küçük bir görev olabilir, ancak her gün yapılması dışında çok zaman alabilir. Verimliliği artıracak araçlar oluşturmanız için sizi teşvik ediyoruz.

Sonuna kadar izlediğiniz için teşekkür ederiz.