Pokud na linuxu nemáte ftp nainstalován tak dejte:
apt-get install ftp -y
Dnes si ukážeme jednoduchý bash script, který něco uploadne na vzdálený server. Druhý skript je už jen nádstavba pro uvedený první skript, který vše zautomatizuje jak si budete představovat.
skript pojmenujeme upnito.sh
dejme na něj
chmod 751 upnito.sh
spouštíme ho přes:
./upnito.sh 192.168.1.2
(to znamená název skriptu a parametr s ipadresou pro cílový server, cokoliv potřebujete dál, tak to nastavíte přímo ve skriptu).
#!/bin/sh # This UNIX shell script FTPs all the files in the input directory to a remote directory # It uses a UNIX Shell "hear document" to read the commands to the FTP program from the shell file # You have to use the -n option to the FTP command to disable the prompting for the password # the quote in front of the ftp user and pass are also necessary to disable reading from stdin # the prompt must be turned off for the multi-put to not prompt the user #REMOTEPATH="/Documents\ and\ Settings/All\ Users/Plocha/" LOCALDIR=/root/adresar_odkud_uploadujeme/ REMOTESERVER=$1 REMOTEPATH="/Documents\ and\ Settings/All\ Users/Nabídka\ Start/Programy/" LOGIN=admin->username pro ftp server který běží na vzdálené straně PASSWORD=nejakeVaseHesloKFTPServeruNaWindows cd $LOCALDIR ftp -n $REMOTESERVER <<INPUT_END quote user $LOGIN quote pass $PASSWORD cd $REMOTEPATH binary prompt off mkdir NovyAdresar cd NovyAdresar mput *.* exit INPUT_END
Druhý skript nám zautomatizuje kopírování na více stanic:
vytvořme
touch automatizace.sh
#!/bin/bash for i in {220..227} do ./upnito.sh 192.168.1.$i done #Pokud máte v síti třeba 2 rozsahy tak: for i in {241..253} do ./upnito.sh 192.168.1.$i done
Po spuštění se skript automatizace.sh ./automatizace.sh postará o to, aby se všechny soubory v cestě “
root/adresar_odkud_uploadujeme/
nakopíroval do všech počítačů s IP adresou 192.168.1.220 – 227 a počítače 192.168.1.241 až 253 každý soubor ve výše uvedeném adresáři. Cokoliv si tam teda nahrajete, tak se to tam dostane.
Pokud kopírujete na windowsácké servery, tak nejdůležitější, aby Vám po překopírování fungovaly .exe soubory je příkaz binary ve skriptu upnito.sh.
Jak jste si mohli všimnout anglického textu, který jsem tam nechal, tak skript jsem sosnul někde z nějakého fora a přizpůsobil dle svých potřeb. Nebyl však dokonalý, předtím kvůli absenci příkazu binary nebyl schopen na windowsácké stanice kopírovat .exe soubory tak aby byly spustitelné a tento skript to přesně dělá a funguje.
Je to fakt jednoduché, já věřím, že to nějakému začátečníkovi určitě pomůže, pokud potřebuje kopírovat na třeba 50 stejných klientských stanic, kde si předtím třeba naházel nějaký filezilla ftp server.
Zdroj1 Zdroj2 Zdroj3 Zdroj4 Zdroj5