Portál AbcLinuxu, 29. prosince 2025 17:39
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/nullps 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' %gb
Tedy 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.