Zjistěte, jak spustit stejný/opakující se příkaz na více serverech Linux z počítače se systémem Windows. Tento trik využívá příkazový řádek putty ‘plink’.
Jedním z hlavních problémů sysadmina je spouštět stejný/opakující se příkaz na více serverech Linux v infrastruktuře, když není k dispozici žádný centralizovaný nástroj. V tomto příspěvku uvidíme, jak spustit příkaz na více serverech Linux najednou. Není potřeba nikde ukládat heslo k účtu a dokonce ani není potřeba mít expect
fungovat ve zdrojovém počítači!
Předpoklad
- Počítač se systémem Windows se staženým plinkem (stáhnout plink zde)
- Linuxové servery by měly být dostupné z počítače se systémem Windows
Jak na to
plink je obslužný program příkazového řádku putty. Pomocí plink se budeme moci připojit k serveru zadáním IP, uživatelského jména a hesla na příkazovém řádku. plink lze vyvolat z příkazového řádku v systému Windows.
C:\Users\noname\Desktop>plink -ssh [email protected] -pw password@123 (hostname; date) testserver Tue Nov 1 12:54:33 IST 2016 C:\Users\noname\Desktop>
Přejděte do příkazového řádku systému Windows zadáním cmd
v okně spuštění (klávesa windows + r). Přejděte do složky, kde je uložen spustitelný soubor plink, a zadejte příkaz plink jako výše.
- ssh:protokol pro připojení
- ID@server IP
- pw:heslo účtu
- Příkazy ke spuštění na serveru Linux ve složených závorkách.
Takto funguje plink. Nyní k provedení stejného příkazu na více serverech vidíme níže uvedený příklad. Připojíme se ke 3 serverům a spustíme příkaz hostname &date.
Nejprve vložte všechny 3 IP adresy serveru do jednoho souboru ip_list.txt
. Poté spusťte jednoduchou smyčku for na tomto souboru, jak je uvedeno níže v příkazovém řádku. Toto je velmi základní dávkový skript.
C:\Users\noname\Desktop>FOR /F "tokens=1,2* delims=," %G IN (C:\Users\noname\Desktop\ip_list.txt) DO plink -ssh user1@%G -pw password@123 (hostname; date) testserver Tue Nov 1 12:54:33 IST 2016 testserver1 Tue Nov 1 12:54:36 IST 2016 testserver2 Tue Nov 1 12:54:39 IST 2016 C:\Users\noname\Desktop>
Voila! jsou tam všechny příkazy serveru! Příkazy prováděné na všech serverech najednou.
To je velmi užitečné, když potřebujete zkontrolovat některé výstupy jednoho řádku ze všech serverů nebo pokud chcete spustit příkazy pro obnovení účtu na všech serverech najednou.