Po. Pro 9th, 2024

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

Avatar

By mirra

Hardwaru a počítačům se věnuji již od roku 2003. Za tu dobu jsem poskládal stovky počítačů, opravil tisíce počítačů a vyřešil nespočetně problémů, vad a chyb, se kterými se setkávali uživatelé. Od roku 2005 se zabývám servery, zejména těmi herními, v roce 2007 jsem se začal věnovat Valve Source SDK level designu, který šel od roku 2009 k ledu kvůli studiu Informatiky na univerzitě. Podílel jsem se chvíli i na provozu síťové laboratoře MENDELU, dnes spravuji v jedné osobě cca 100 serverů/diskových polí na univerzitě, řeším IT v malých a středních firmách tak, aby firmy ušetřily nemalé částky při zlepšení kvality a soustředím se na snižování nákladů na IT od licencí až po hardware, software, provádím konsolidace a audity platnosti licencí, které firmám šetří rovněž nemalé peníze. Z velkých firem jsem měl příležitost s dalšími kolegy řešit správu 8000 serverů po celé západní Evropě s vysokou mírou automatizace a poznávání nejrůznějších evropských pracovních mentalit. Dále jsem řešil hybridní cloud ve velké firmě, orientované na trhy střední a východní Evropy. Posledních několik let se věnuji Devops pro velké zákazníky v Azure cloudu, spravuji kubernetes (AKS), Gitlab.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *