Hätte ich diese Möglichkeit einbauen wollen, würdest du die Fehlermeldung nicht erhalten. Es ist demnach gewollt, das diese Möglichkeit untersagt bleibt.Gibt es eine Möglichkeit den Zielpfad als Freigegebenen Ordner auszuwählen? […] Basis Backup sagt mir immer das Zielverzeichnis darf nicht leer sein.
Könntest für das mal mit meinem Script probieren.Vielen Dank erstmal für das Tool.
Gibt es eine Möglichkeit den Zielpfad als Freigegebenen Ordner auszuwählen? Ich ziehe aktuell vom alten NAS auf einen neuen NAS um und möchte eine 1zu1 kopie von den freigegebenen Ordnern machen.
Basis Backup sagt mir immer das Zielverzeichnis darf nicht leer sein.
Anhang anzeigen 89131
Anhang anzeigen 89130
modul is write only
finde ich ziemlich suspekt. Ich habe zwar bereits nach möglichen Gründen gesucht, bisher aber nichts Adäquates gefunden. Sobald ich etwas herausgefunden habe, melde ich mich. Bis dahin könntest du an deinem Auftrag ein -vv anhängen, also z.B. so.../usr/syno/synoman/webman/3rdparty/BasicBackup/rsync.sh --job-name="SICH_01 Video-TMP" -vv &
Vielleicht hat dein Benutzerreceiving incremental file list
ERROR: module is write only
RR-admin
nicht die nötigen Rechte um sich aus dem Ordner /volume1/2 Video/01 Video-TMP
die nötigen Informationen zu holen, da du scheinbar nur Schreibrechte, aber keine Leserechte auf diesen Ordner hast. Klingt zwar irgendwie unlogisch, aber was besseres fällt mir grad nicht ein.Permission denied (13)
fürht.dr--------
d-w-------
d--x------
drw-------
dr-x------
d-wx------
module is write only
überhaupt nichts bzw. lässt mich nicht auf das vorliegende Problem schließen.opening connection using: ssh -p 22 -i "~/.ssh/id_rsa" -l RR-admin 192.168.178.86 rsync --server --sender -vvlogDtpre.iLsfxC . "/volume1/2 Video/01 Video-TMP" (14 args)
module is write only
wird zusätzlich das ausgegeben.rsync error: syntax or usage error (code 1) at main.c(879) [sender=3.1.2]
Man könnte dem Befehl zur Auftragsausführung ein -vvv anstelle eines -vv mitgeben, so wie oben vorgeschlagen. Also so…Könnten wir hier debuggen und den Befehl transparent machen, indem wir den kompletten rsync command im Log ausgeben?
/usr/syno/synoman/webman/3rdparty/BasicBackup/rsync.sh --job-name="SICH_01 Video-TMP" -vvv &
Das ist mir bewusst. Wie man auch im Log von @RR!! sehen kann. Allerdings ist das nicht aufschlussreich für meine vorherige Frage.Basic Backup debuggt hierbei sowohl ssh als auch rsync und legt die gesammelten Informationen im Protokoll ab.
Rsync meldete den Exit-Code 1: Syntax- oder Anwendungsfehler
.Start der rsync-Datensicherung...
-------------------------------------------------------------------------------- -----------------------------------
2023-12-10 15:24:10 - Schreibe rsync-Protokoll fuer den Quellordner...
➜ /volume1/2 Video/01 Video-TMP
-------------------------------------------------------------------------------- -----------------------------------
opening connection using: ssh -p 22 -i "~/.ssh/id_rsa" -l RR-admin 192.168.178.8 6 rsync --server --sender -vvvlogDtpre.iLsfxC . "/volume1/2 Video/01 Video-TMP" (14 args)
receiving incremental file list
[sender] add_rule(-s @eaDir/***)
[sender] add_rule(-s @Logfiles/***)
[sender] add_rule(-s #recycle/***)
[sender] add_rule(-s #snapshot/***)
[sender] add_rule(-s .DS_Store/***)
server_sender starting pid=9842
ERROR: module is write only
rsync error: syntax or usage error (code 1) at main.c(879) [sender=3.1.2]
[sender] _exit_cleanup(code=1, file=main.c, line=879): about to call exit(1)
[Receiver] _exit_cleanup(code=1, file=io.c, line=1812): about to call exit(1)
### Rsync meldete den Exit-Code 1: Syntax- oder Anwendungsfehler
-------------------------------------------------------------------------------- -----------------------------------
opening connection using: ssh ......
./luddi 01
/luddi\ 01
rsync -ah -vvv --stats --partial --progress -e "ssh -p 22 -i ~/.ssh/luddi_at_raspi_id_rsa" /temp/dummy_folder/dummyfile_1G luddi@raspi.local:/luddi\ 01
opening connection using: ssh -p 22 -i "~/.ssh/luddi_at_raspi_id_rsa" -l luddi raspi.local rsync --server -vvvlogDtpre.iLsfxCIvu --stats --partial . "/luddi\ 01" (15 args)
sending incremental file list
...
/"luddi 01"
rsync -ah -vvv --stats --partial --progress -e "ssh -p 22 -i ~/.ssh/luddi_at_raspi_id_rsa" /temp/dummy_folder/dummyfile_1G luddi@raspi.local:/"luddi 01"
opening connection using: ssh -p 22 -i "~/.ssh/luddi_at_raspi_id_rsa" -l luddi raspi.local rsync --server -vvvlogDtpre.iLsfxCIvu --stats --partial . "/luddi\ 01" (15 args)
sending incremental file list
...
/luddi 01
rsync -ah -vvv --stats --partial --progress -e "ssh -p 22 -i ~/.ssh/luddi_at_raspi_id_rsa" /temp/dummy_folder/dummyfile_1G luddi@raspi.local:/luddi 01
Unexpected remote arg: luddi@raspi.local:/luddi
rsync error: syntax or usage error (code 1) at main.c(1512) [sender=3.2.7]
[sender] _exit_cleanup(code=1, file=main.c, line=1512): about to call exit(1)
rsync error: syntax or usage error (code 1)
."/luddi\ 01"
."/volume1/2 Video/01 Video-TMP"
.Sag das doch gleichMich hätte im Log eher der gesamte rsync Befehl interessiert welcher abgesetzt wird, um diesen einmal näher unter die Lupe zu nehmen. Und genau das wollte ich wissen, ob man diesen Befehl auch im Log mit ausgeben kann.
… jedoch wird dadurch wohl nur der ssh Teil ins Protokoll geschrieben, also das hier> >(tee -a "${script_log}") 2>&1
opening connection using: ssh .......
Vielleicht kannst du dir das so umbauen, das auch der rsync Teil ausgegeben wird.Könnten wir hier debuggen und den Befehl transparent machen, indem wir den kompletten rsync command im Log ausgeben?
"${source}"
und "${target}"
im Log. Damit könnten wir schon sehen wie es an rsync übergeben wird.Ja das Problem kenne ich selbst zu gut. Genau aus diesem Grund liegt meine Vermutung wohl nahe, dass es etwas hiermit zu hat.Das richtige escapen oder eben nicht escapen von Leerzeichen hat mir schon oft schlaflose Nächte bereitet.
… damit sollten die Werte für source und target im Protokoll erscheinen.echo "${source}" | tee -a "${script_log}"
echo "${target}" | tee -a "${script_log}"
Ich glaub, das liegt eher an mir. Manchmal bin ich nicht konzentriert genug oder nicht richtig bei der Sache und dann passieren mir solche Dinge. Ich sollte mir vielleicht etwas mehr Zeit nehmen und die Texte mehrfach lesen, bevor ich mich dazu äußer. Ich werd halt alt…Vielleicht liegt schon wieder eines unserer Verständnisprobleme vor.
# If the connectiontype is sshpush
if [[ "${connectiontype}" == "sshpush" ]]; then
# Escape white spaces with backslash
target=$(echo ${target} | sed -e 's/ /\ /g')
# Local to Remote: rsync [option]... [source]... [USER@]HOST:DEST
rsync \
${var[syncopt]} \
${dryrun} \
${verbose} \
--stats \
--delete \
${backup} \
${excluded} \
${perms} \
-e "ssh -p ${var[sshport]} -i ~/.ssh/${var[privatekey]}" "${source}" ${var[sshuser]}@${var[sshpush]}:"'${target}'" > >(tee -a "${script_log}") 2>&1
rsync_exit_code=${?}
fi
"'${target}'"
geschmückt mit single qoutes. Bei allen anderen Fällen wird "${target}"
verwendet. Wenn single qoutes mit angegeben werden, so wird der String 1:1 übergeben und somit wird rsync die Leerzeichen nicht escapen."'${target}'"
.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.