Portál AbcLinuxu, 12. května 2025 07:55

Dotaz: Prikaz prez SSH na MikroTik

11.2.2005 02:00 Alex Kubicek | skóre: 14 | Kdyně
Prikaz prez SSH na MikroTik
Přečteno: 2591×
Odpovědět | Admin
Zdravim,potreboval bych poslat prikaz pres SSH na router postaveny na mikrotiku. Potrebuji poslat prikaz: "queue tree reset-couters". Prikaz "ssh xx@host cmd" nefunguje. Mam perl script, ktery zasle prikazy uvedene v externim souboru, ktery se spusti v konzoli normalne, ale v cronu jiz ne.. Nemate s tim nekdo zkusenosti?
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

Josef Kufner avatar 11.2.2005 02:12 Josef Kufner | skóre: 70
Rozbalit Rozbalit vše Re: Prikaz prez SSH na MikroTik
Odpovědět | | Sbalit | Link | Blokovat | Admin
Hmm, nefunguje znamena co?

Ten perlovsky script sem dej, pokud neni moc dlouhy, a nezapomen ho oblect do <pre> tagu
Hello world ! Segmentation fault (core dumped)
11.2.2005 10:35 Alex Kubicek | skóre: 14 | Kdyně
Rozbalit Rozbalit vše Re: Prikaz prez SSH na MikroTik
Tady je ten script. Skript si vola textovy soubor, kde je seznam prikazu k provedeni. Akorat prikay mezi < > jsem vlozil do uvozovek, protoze nevim, jak to zformatovat. Tyka se to radku: while(..PS..) a while ($cmd = ..FILE..).
#!/usr/bin/perl
##-varibles
use Expect;
$ssh = "/usr/bin/ssh -v";
$router = "$ARGV[0]";
$txtfile = "$ARGV[1]";
#-get username/password
open(PS,"/etc/monitor.passwd");
while ("<"PS">") {
     chomp;
     ($usernm,$pass) = split(/\|\|/, $_);
   }
close(PS);
$command = "$ssh -l $usernm $router";
#-connect to router.
$ssh = Expect->spawn("$command");
$ssh->log_stdout(0);
#-send password.
if ($ssh->expect(undef, "password:")) {
     print $ssh "$pass\r";
   }
#-send command.
open( FILE, "< $txtfile" ) or die;
if ($ssh->expect(undef, ">")) {
      while ($cmd = "<"FILE">") {
      print $ssh "$cmd\r";
      $ssh->expect(undef, ">");
      }
  }     
close FILE;
print $ssh "/quit\r";
11.2.2005 12:12 juan
Rozbalit Rozbalit vše Re: Prikaz prez SSH na MikroTik
zkus se pohrat s pravama volanych programu, kdysi sem resil podobny problem: v konzoli vse OK, na cronu ERROR pak sem nastavil prava u volaneho programu z -rwxr--r-- na -rwsr--r--
Josef Kufner avatar 11.2.2005 13:10 Josef Kufner | skóre: 70
Rozbalit Rozbalit vše Re: Prikaz prez SSH na MikroTik
to u skriptu fungovat nebude, protoze se skript se spousti s pravy interpretu a nikoli skriptu. Pokud je treba spoustet neco z cronu pod jinym uzivatelem, tak v /etc/crontab mame sesty sloupec, kde se pise jaky to bude.
Hello world ! Segmentation fault (core dumped)

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.