WPUT via SSH starten

Status
Für weitere Antworten geschlossen.

Franze24

Benutzer
Mitglied seit
09. Sep 2012
Beiträge
42
Punkte für Reaktionen
0
Punkte
0
Moin Leute,

ich habe eine DSM 211j. Ich möchte darauf ein Uploadscript laufen lassen, aber erstmal hänge ich noch wo anders. Ich habe IPKGui installiert und mir von dort wput besorgt. WPUT ist auch vorhanden in /opt/bin/.

Ich kann mich via SSH root auf die DS einwählen, dann kommt logischerweise

Rich (BBCode):
Diskstation>

Wenn ich von dort versuche, Kommandos einzugeben, also

Rich (BBCode):
Diskstation> wput

Bekomme ich immer ein not found. Gleiches mit ipkg usw...

Dann habe ich versucht mittels cd auf opt/bin/ zu kommen und die Kommandos dort auszuführen, mit dem gleichen negativen Ergebnis. Deshalb die Frage: Wie kann ich wput von SSH starten? (analog gilt das natürlich auch für den Befehl ipkg usw... / gleiches negatives Ergebnis auch via Telnet)

Danke :)

Franze
 

dany

Benutzer
Mitglied seit
31. Mrz 2008
Beiträge
352
Punkte für Reaktionen
0
Punkte
22
Hallo Franze24

Was passiert wenn du den ganzen Pfad eingibst:

/opt/bin/wput
 

Franze24

Benutzer
Mitglied seit
09. Sep 2012
Beiträge
42
Punkte für Reaktionen
0
Punkte
0
Hello und vielen Dank, das hat schonmal funktioniert!

Aber jetzt stehe ich hier:

Rich (BBCode):
DiskStation> /opt/bin/wput --remove-source-files --skip-existing --basename=/vol
ume1/homes/uname/toFTP/*.xls ftp://uname:pwd@url/

und bekomme

Rich (BBCode):
Warning: Neither a remote location nor a local filename has been specified. Assuming you want to upload the current working directory to the remote server.
--22:29:12-- `./.profile'
    => ftp://uname:xxxxx@url:21/./.profile
Connecting to IP ADRESSE... connected! encrypted!
Logging in as UNAME ... Logged in!
-- Skipping file: ./.profile
--22:29:13-- `./.ssh/known_hosts'
    => ftp://uname:pwd@url/./.ssh/known_hosts
Skipped 3 files.

Kann es sein, dass ich noch im falschen directory bin?
 

dany

Benutzer
Mitglied seit
31. Mrz 2008
Beiträge
352
Punkte für Reaktionen
0
Punkte
22

Franze24

Benutzer
Mitglied seit
09. Sep 2012
Beiträge
42
Punkte für Reaktionen
0
Punkte
0
Hey dany, danke für deine Tipps. Das mit dem profil werde ich heute abend versuchen.

Die Übertragung läuft jetzt, danke nochmal :) Ich habe --basename gekickt. Dann liefs, hat aber aufm Server den gesamten Pfad angelegt, deshalb habe vor dem wput-Befehl noch cd zum DIR des zu syncenden Ordners gemacht und einfach einen *. So läufts. Ist bestimmt nicht die feine englische, aber mir reichts ;)

Danke!

Werde die Tage daraus ein Script bauen und den Cron anlegen, wahrscheinlich melde ich mich nochmal im Forum wg. neuer Fragen ;)
 

Franze24

Benutzer
Mitglied seit
09. Sep 2012
Beiträge
42
Punkte für Reaktionen
0
Punkte
0
Ah noch ne Frage bzgl. des Pfads: Wie finde ich denn die .profile des users root? Danke :)
 

dil88

Benutzer
Contributor
Sehr erfahren
Mitglied seit
03. Sep 2012
Beiträge
30.670
Punkte für Reaktionen
2.073
Punkte
829
Hast Du schon einmal unter /root geschaut? Denk dran, dass Du mit die Option -a brauchst, um (hidden) Punktdateien aufgelistet zu bekommen (also z.B. "ls -al").
 

Franze24

Benutzer
Mitglied seit
09. Sep 2012
Beiträge
42
Punkte für Reaktionen
0
Punkte
0
So also in .profile ist jetzt folgendes eingetragen: PATH=/opt/bin:/opt/sbin:/bin:/usr/sbin:/usr/bin:/usr/syno/sbin:/usexport PATH

Leider kann ich

Diskstation> wput

immernoch nicht ausführen.

Ich denke mittlerweile ist der Eintrag auch notwendig, da ich gerade mit Duplicity herumspiele und es mir immer sagt, ich soll NcFTP installieren, obwohl es installiert ist? Also kann es wohl das Programm auch nicht finden...
 

Franze24

Benutzer
Mitglied seit
09. Sep 2012
Beiträge
42
Punkte für Reaktionen
0
Punkte
0
MOMENT, ich glaube, es geht jetzt. Ich musste die Shell neu starten :)
 

Franze24

Benutzer
Mitglied seit
09. Sep 2012
Beiträge
42
Punkte für Reaktionen
0
Punkte
0
Cronjob zum Script geht nicht

Hallo,

ich habe jetzt das Script gebastelt, es liegt in / und funktioniert tadellos. Lediglich der Cronjob, der alle 5 Minuten das Script aufrufen soll, funzt noch nicht.

Eintrag:
*/5 TAB * TAB * TAB * TAB * TAB root TAB sh /wputpS.sh

Ich konnte die Datei leider nicht mit chmod +x schreibfähig machen.

Hat jemand noch eine Idee? DANKE :)
 

luddi

Benutzer
Sehr erfahren
Mitglied seit
05. Sep 2012
Beiträge
3.259
Punkte für Reaktionen
601
Punkte
174
Ich konnte die Datei leider nicht mit chmod +x schreibfähig machen.
x steht in dem Falle für executable und nicht für writable.

Aber nun zu meiner Frage, bekommst du eine Fehlermeldung sobald du versuchst die Attribute der Datei mit chmod +x zu bearbeiten?

Gruß
luddi
 

Franze24

Benutzer
Mitglied seit
09. Sep 2012
Beiträge
42
Punkte für Reaktionen
0
Punkte
0
Hey und danke für deine Antwort.

Nein, bekomme ich nicht, es geht nach dem Befehl ganz normal weiter mit

Rich (BBCode):
Diskstation>

so, als hätte es funktioniert. Eine Ausführung mit nur der Eingabe des Dateinamens geht allerdings trotzdem nicht.
 

luddi

Benutzer
Sehr erfahren
Mitglied seit
05. Sep 2012
Beiträge
3.259
Punkte für Reaktionen
601
Punkte
174
kannst du hier mal zeigen wie die Dateiattribute der Datei sind?
Am besten einfach die Ausgabe die du mit diesem Befehl bekommst:

Rich (BBCode):
cd / && ls -la | grep wputpS

luddi
 

Benares

Benutzer
Sehr erfahren
Mitglied seit
27. Sep 2008
Beiträge
13.767
Punkte für Reaktionen
3.740
Punkte
468
Wenn du als root angemeldet bist und mit cd in das Verzeichnis wechselst, in dem das Script liegt, musst du das Script trotzdem mit ./script aufrufen, um zu sagen, dass du das Script im aktuellen Verzeichnis meinst.
Das ist ist anders, als bei DOS/Windows. root hat aus Sicherheitsgründen das aktuelle Verzeichnis (.) nicht im Pfad.
 

luddi

Benutzer
Sehr erfahren
Mitglied seit
05. Sep 2012
Beiträge
3.259
Punkte für Reaktionen
601
Punkte
174
ich habe jetzt das Script gebastelt, es liegt in / und funktioniert tadellos.
Von der Command line ist das script ja bereits ausführbar wie Franze24 berichtet.

musst du das Script trotzdem mit ./script aufrufen
Oder aber mit
Rich (BBCode):
sh sricpt.sh
man kann aber auch den befehl sh weglassen und macht es wie von dir beschrieben
Rich (BBCode):
./script.sh

Aber im crontab ist der Pfad absolut angegeben und das ist meiner Meinung nach auch korrekt.

Gruß
luddi
 

Franze24

Benutzer
Mitglied seit
09. Sep 2012
Beiträge
42
Punkte für Reaktionen
0
Punkte
0
Hey luddi,

die Antwort

Rich (BBCode):
-rwxrwxrwx 1 username(adminrecht) users 131 Aug 7 08:26 wputpS.sh

hilft dir das was?

Ich kann das Script übrigens nicht mit ./wputpS.sh aufrufen: -ash ./wputpS.sh: not found
 

Benares

Benutzer
Sehr erfahren
Mitglied seit
27. Sep 2008
Beiträge
13.767
Punkte für Reaktionen
3.740
Punkte
468
Dann fehlt im Script in der ersten Zeile evtl. der Shebang (?), der der Shell sagt, welcher Interpreter dafür zuständig ist.
Nimm mal "#!/bin/sh" als erste Zeile auf.
 

luddi

Benutzer
Sehr erfahren
Mitglied seit
05. Sep 2012
Beiträge
3.259
Punkte für Reaktionen
601
Punkte
174
Ich wollte nur prüfen ob die Datei tatsächlich executable ist, und das ist sie für den owner, group und others also jedenfalls hat das mit dem chmod +x geklappt.
Zumindest stehen die Atrribute für eine Ausführung korrekt.
Du könntest ja noch eines ausprobieren und den owner der Datei ändern. Wobei ich es kaum vermute dass es daran liegt....

mhhh, gerade fällt mir nicht mehr ein.

luddi
 

luddi

Benutzer
Sehr erfahren
Mitglied seit
05. Sep 2012
Beiträge
3.259
Punkte für Reaktionen
601
Punkte
174

Franze24

Benutzer
Mitglied seit
09. Sep 2012
Beiträge
42
Punkte für Reaktionen
0
Punkte
0
Dann fehlt im Script in der ersten Zeile evtl. der Shebang (?), der der Shell sagt, welcher Interpreter dafür zuständig ist.
Nimm mal "#!/bin/sh" als erste Zeile auf.

Hallo ihr beiden, das habe ich schon. Und zwar #!/opt/bin/sh

Wie gesagt, es ist ja ausführbar und funktioniert (auch mit dem Kommando in der ersten Zeile). Nur der Cron nimmt es nicht...
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat