Portál AbcLinuxu, 12. května 2025 09:21
ssh tonda@tonduv.comp.cz "command"
coz udela, ze na tondovo pocitaci pusti command. Jenze co kdyz ten command je nejaky strukturovany prikaz, napr. if, fakt to nechci psat na jednu radku, chtel bych si ten prikaz napsat "hezky" a urcite bych nechtel posilat na tonduv pocitac nejaky skript a ten tam poustet (je to sice reseni ale moc pekne ne).Diky za kazdou radu.ssh localhost "if true; then > echo its true > else > echo false > fi"
ssh root@comp.cz ' if ps aux | grep "proces" | grep "bin" 1>/dev/null 2>/dev/null then printf "%-80s %-80s" "proces is" "RUNNING" echo "" else printf "%-80s %-80s" "proces is" "STOPPED!!" echo "" fi'kdyz to pustim z comp1.cz, tak mi to pise proces is running, ale kdyz dam na comp2.cz
ps aux | grep "proces" | grep "bin" 1>/dev/null 2>/dev/nulla pak
echo $?tak odpoved je 1, tedy puvodni odpoved mela byt proces is stopped.
Tak zkuste
ssh -l root comp.cz <<EOT ... EOT
případně ještě přepínač '-t
', pokud spouštíte něco, co potřebuje terminál.
Pseudo-terminal will not be allocated because stdin is not a terminal. stdin: is not a ttyPseudo-terminal will not be allocated because stdin is not a terminal. stdin: is not a tty
stdin: is not a ttySem to nakonec poresil takto:
ssh root@comp.cz << _EOF_ 2>/dev/nullDekuji za odpovedi
1>/dev/null 2>/dev/null
se dá pokud vím zapsat jako &> /dev/null
ps aux | grep "proces" | grep "bin"...
- man pidof
- možná vhodnější..$ cat ~/testingfile cat: /home/user/testingfile: No such file or directory $ cat scriptik.sh touch ~/testingfile echo "prvni" >> ~/testingfile echo "druhy" >> ~/testingfile echo "treti" >> ~/testingfile $ xargs -0 -a scriptik.sh ssh user@localhost user@localhost's password: $ cat ~/testingfile prvni druhy treti
from __future__ import division import socket print socket.gethostname() s = [x.split() for x in file('/proc/net/dev') if 'eth0' in x][0][0] bytes = int(s.split(':')[1]) gb = bytes/1024/1024/1024 print '%.2f GiB' %gbTedy vypíše hostname a ukáže, kolik gigabajtů se stáhlo přes eth0. No a ten můžu ladit u sebe a nakonec pustit na různých strojích aniž bych ho tam kopíroval:
$ ssh honza@pumpa.ath.cx python < pokus.py pumpa.ath.cx 0.95 GiB $ ssh honza@chorchoj.ath.cx python < pokus.py chorchoj 2.50 GiB
#!/usr/bin/python from subprocess import * cmd = ['ssh', 'honza@chorchoj.ath.cx', 'pgrep', 'bash'] pr = Popen(cmd, stdout = PIPE) if pr.stdout.read(): print 'Bezi'Vypsalo to "Bezi", tak je to nejspíš pravda.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.