Verzeichnis angabe bei SSH Befehl cp sowie in Skripten

  • Ab sofort steht euch hier im Forum die neue Add-on Verwaltung zur Verfügung – eine zentrale Plattform für alles rund um Erweiterungen und Add-ons für den DSM.

    Damit haben wir einen Ort, an dem Lösungen von Nutzern mit der Community geteilt werden können. Über die Team Funktion können Projekte auch gemeinsam gepflegt werden.

    Was die Add-on Verwaltung kann und wie es funktioniert findet Ihr hier

    Hier geht es zu den Add-ons

Status
Für weitere Antworten geschlossen.

thothothomas

Benutzer
Registriert
09. Feb. 2015
Beiträge
64
Reaktionspunkte
0
Punkte
6
Hallo Liebe Syno-Gemeinde,

ich bin seit einigen Monaten stolzer Besitzer einer Diskstation 415+ und versuche aktuell ein sh skript zu erstellen, welches mir Dateien von A nach B kopiert (soll später mal Dateien als Sicherung auf meine Externe HDD kopieren)
Hierbei verstehe ich allerdings die Angabe von Pfaden nicht. Wenn ich mich im Verzeichnis "/homes/Thomas" befinde und den darin enthaltenen Ordner "Test" kopieren will in den Ordner "Test2" dann funktioniert es mit dem Befehl "cp Test Test2". Allerdings schlägt es Fehl, wenn ich es mit "cp /homes/Thomas/Test /homes/Thomas/Test2" versuche.
Wie kann ich Pfade angeben, die Unabhängig von meinem aktuellen Skriptverzeichnis sind?
 
Zuletzt bearbeitet:
Eigentlich genauso, wie Du es gemacht hast. Mir fehlt nur die 2 im zweiten Pfad. Warum verwendest Du nicht rsync?
 
Upps, da ist mir beim abtippen wohl ein Fehler unter gekommen ;)
Ich bekomme beim Aufruf immer cp: can't stat '/homes/Thomas/Test': No such file or directory
rsync? Muss ich mich mal einlesen, kenne ich bisher nicht
 
Wenn, dann richtig. Du musst schon den kompletten Pfad ab / angeben.
"cp /volume1/homes/Thomas/Test /volume1/homes/Thomas/Test2" sollte in deinem Fall gehen (nicht getestet)
 
hmpf. Immer diese fiesen Kleinigkeiten ;) Danke Benares, daran lag es.
Dachte das "Volume1" sei nicht nötig (wurde mir bei der Verbindung per SFTP im Dateimanager auch nicht angezeigt, hier war der "oberste" Ordner u.a. "homes")
 
Wenn du dich irgendwie anmeldest, landest du immer irgendwo. Im Falle von ftp/scp ist das oft /volume1. Manchmal erscheint es auch als /, das ist dann recht verwirrend.
Von dort adressierst du entweder relativ ("homes/Thomas/..." bzw "./homes/Thomas/...) oder absolut (/volume1/homes/Thomas/...). Absolut geht immer, relativ hängt vom jeweiligen Standard ab (cd ...)
 
Super, Danke für die ausführliche Erklärung. Jetzt sollte meinem Script auch nichts mehr im Wege stehen
 
Zuletzt bearbeitet von einem Moderator:
Document root vs. Filesystem root. Schau Dir dennoch rsync an. Beispiele gibts auch hier im Forum. Mit einem Aufruf kannst Du einen Pfad mit allem, was darunterliegt, auf einen Zielpfad synchronisieren. Ist die Basis aller aktuellen Datensicherungsverfahren des DSM. Sehr zuverlässig und empfehlenswert.

Den aktuellen Pfad bekommt man übrigens von dem Tool pwd.
 
Zuletzt bearbeitet:
rsync habe ich mir angeschaut, werde ich auch nutzen, sobald es installiert ist. Muss jetzt nur erst mal IPKG installieren. Danke für den Hinweis auf das Tool!
 
rsync muss nicht per ipkg installiert werden, rsync ist bereits im DSM enthalten...

Stefan
 
Du findest es unter /usr/syno/bin/rsync.
 
Ja, habe mittlerweile auch gemerkt, dass rsync schon installiert war. Naja, IPKG kann ja nicht schaden :)
Sobald meine Externe Platte da ist kann ich das Script dann auch mal komplett testen
 
Wenn du dich irgendwie anmeldest, landest du immer irgendwo. Im Falle von ftp/scp ist das oft /volume1. Manchmal erscheint es auch als /, das ist dann recht verwirrend.
Von dort adressierst du entweder relativ ("homes/Thomas/..." bzw "./homes/Thomas/...) oder absolut (/volume1/homes/Thomas/...). Absolut geht immer, relativ hängt vom jeweiligen Standard ab (cd ...)

Wie ich die internen volumes absolut addressiere ist ja jetzt geklärt. Aber wie schaut das ganze mit externen Festplatten aus? ich finde einfach nicht den Pfad, über den meine externe HDD (in der Diskstation einfach als "usbshare1" bezeichnet) per SSH zu erreichen ist. Weder absolut noch relativ...
 
Hallo,
wenn Du Dir das Stammverzeichnis ansiehst siehst Du ach an Hand der Bezeichnung wie es weiter geht.
ls -la /
da dürfte neben volume1 auch so etwas wie volumeUSB erscheinen, in das Verzeichnis wechseln und wieder anschauen, es sollte usbshare1 sichtbar sein.

Gruß Götz
 
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