Ultimate Backup Ultimate Backup und Autostart funktioniert nicht

Status
Für weitere Antworten geschlossen.

Anguel

Benutzer
Mitglied seit
12. Mrz 2018
Beiträge
79
Punkte für Reaktionen
0
Punkte
6
Noch ein kleiner Nachtrag zur Fehlerausgabe: Ich habe es bei mir nun so gemacht, dass ich ausgehend von eurem Skript einfach in der Zeile wo rsync gestartet wird das

Rich (BBCode):
 >> "$log"

um ein & erweitert habe, das auch stderr ins Log umleitet:

Rich (BBCode):
 &>> "$log"

so werden auch die Fehlermeldungen von rsync ins Log geschrieben und man braucht nicht mehr rätseln, was genau schief gegangen ist. Die Ausgabe sieht dann so aus, wenn beispielsweise ein anderes Quell-NAS gerade mal offline ist:

Rich (BBCode):
Quellordner /volume1/EXTMOUNT_QNAP wurde lokalisiert...
Quellordner /volume1/EXTMOUNT_QNAP ist erreichbar...

Starte Datensicherung:
von: /volume1/EXTMOUNT_QNAP
nach: /volume1/OFFSITE/NASes
rsync: readlink_stat("/volume1/EXTMOUNT_QNAP/Public") failed: Host is down (112)
rsync: readlink_stat("/volume1/EXTMOUNT_QNAP/homes") failed: Host is down (112)
rsync: readlink_stat("/volume1/EXTMOUNT_QNAP/MESSFREIGABEN") failed: Host is down (112)
rsync: readlink_stat("/volume1/EXTMOUNT_QNAP/REPOSITORY") failed: Host is down (112)
rsync: readlink_stat("/volume1/EXTMOUNT_QNAP/TEST") failed: Host is down (112)
IO error encountered -- skipping file deletion

Number of files: 2
Number of files transferred: 0
Total file size: 0 bytes
Total transferred file size: 0 bytes
Literal data: 0 bytes
Matched data: 0 bytes
File list size: 61
File list generation time: 0.001 seconds
File list transfer time: 0.000 seconds
Total bytes sent: 92
Total bytes received: 14

sent 92 bytes  received 14 bytes  2.10 bytes/sec
total size is 0  speedup is 0.00
rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1355) [sender=3.0.9]
/volume1/EXTMOUNT_QNAP - RSync-Code 23
------------------------------------------------------------------------------------------------
RSync Fehlermeldung (Exit Code): 23
------------------------------------------------------------------------------------------------

RSync-Datensicherung fehlgeschlagen - Sicherungsziel: /volume1/OFFSITE/NASes
------------------------------------------------------------------------------------------------


29.06.2018	13:49:55
Script wird beendet
 

PsychoHH

Benutzer
Mitglied seit
03. Jul 2013
Beiträge
2.967
Punkte für Reaktionen
4
Punkte
78
So kann man das machen ja. Wird aber nicht mit per Update eingebaut, da es für Fehler ja das "Backupbezogene" Log gibt.
Vorher konnte man dies aber auch im Log sehen und schauen wo der Fehler lag.
 

Anguel

Benutzer
Mitglied seit
12. Mrz 2018
Beiträge
79
Punkte für Reaktionen
0
Punkte
6
Sorry für meine dumme Frage, aber wo soll man die von rsync gemeldeten Fehler denn mit dem ursprünglichen Skript sehen können? In welchem Log konkret?
Das Problem wurde doch im anderen Thread diskutiert und war der Grund, warum ong10 und ich das Skript modifizieren mussten, um unsere Backups zum Laufen zu bekommen. Er hat dafür den log-file Schalter von rsync verwendet und meine Idee war einfach auch stderr in den Log umzubiegen.
Oder habe ich etwas übersehen?
 
Zuletzt bearbeitet von einem Moderator:

hoddelac

Benutzer
Mitglied seit
14. Mrz 2015
Beiträge
130
Punkte für Reaktionen
2
Punkte
18
Hallo ich plage mich auch mit dem Problem das mein Backup nicht automaisch startet. Ich möchte von einer externen HDD auf meine DS sichern, das ganze soll starten sobald die
HDD angesteckt wird. Das macht sie aber nicht. Jetzt habe ich eine andere HDD genommen (diese ist ext4 formatiert) und siehe da dort geht es.
Kann es daran liegen das das meine HDD NTFS formatiert ist? NTFS brauche ich aber um die HDD an meinem MacBook lesen zu können.
 

Anguel

Benutzer
Mitglied seit
12. Mrz 2018
Beiträge
79
Punkte für Reaktionen
0
Punkte
6
Ich möchte von einer externen HDD auf meine DS sichern, das ganze soll starten sobald die HDD angesteckt wird. Das macht sie aber nicht.

1. Oben rechts im Interface ist ein Debug Button. Da drauf klicken und dann mal bitte posten was im Bereich ## autostart.log ## steht.

2. Läuft das Backup durch, wenn du es manuell startest?
 

hoddelac

Benutzer
Mitglied seit
14. Mrz 2015
Beiträge
130
Punkte für Reaktionen
2
Punkte
18
Wenn ich das Script manuell starte läuft es. Wenn ich das script auf einer ext4 Formatierten HDD starte wird es auch automatisch beim anstecken gestartet.

autostart.log - 2018-07-01_06h53m06s
autostartsettings geladen.
Festplatte angeschlossen.
Festplattenauswertung S1:sdq1
Festplattenmount: /volumeUSB1/usbshare
 

Anguel

Benutzer
Mitglied seit
12. Mrz 2018
Beiträge
79
Punkte für Reaktionen
0
Punkte
6
Ich tippe mal auf das von mir hier zuvor beschriebene Timeout-Problem. Weißt du wie du die /var/log/messages anschauen kannst? Du müsstest dich über Putty mit Username und Passwort einloggen und dann mit
sudo -i
zu root wechseln, das Passwort ist wieder dein User-Passwort. Dann z.B. mit
more /var/log/messages
den Log anschauen und nach Timeout und Killed suchen. Aber Vorsicht: Wenn du dich gar nicht auskennst, besser nix kaputt machen :)

Wenn es so wie hier ausschaut, ist es das Timeout Problem:
https://www.synology-forum.de/showt...rt-nicht/page3&p=778494&viewfull=1#post778494
 

hoddelac

Benutzer
Mitglied seit
14. Mrz 2015
Beiträge
130
Punkte für Reaktionen
2
Punkte
18
Hi, habe das Log mal durchsucht und das gefunden

more /var/log/messages | grep timeout
2018-06-30T17:35:54+02:00 DS214 serv-bootup-timeout.sh: all service finish boot up.
2018-06-30T18:46:40+02:00 DS214 udevd[1722]: worker [23689] /devices/platform/ehci_marvell.1/usb2/2-1/2-1:1.0/host5/target5:0:0/5:0:0:0/block/sdq/sdq1 timeout; kill it
2018-06-30T18:53:35+02:00 DS214 udevd[10234]: timeout '/usr/syno/synoman/webman/3rdparty/UltimateBackup/includes/autostart sdq1'
2018-06-30T18:53:36+02:00 DS214 udevd[10234]: timeout: killing '/usr/syno/synoman/webman/3rdparty/UltimateBackup/includes/autostart sdq1' [11631]
2018-06-30T19:17:40+02:00 DS214 udevd[31197]: timeout '/usr/syno/synoman/webman/3rdparty/UltimateBackup/includes/autostart sdq1'
2018-06-30T19:17:41+02:00 DS214 udevd[31197]: timeout: killing '/usr/syno/synoman/webman/3rdparty/UltimateBackup/includes/autostart sdq1' [2536]
 

Anguel

Benutzer
Mitglied seit
12. Mrz 2018
Beiträge
79
Punkte für Reaktionen
0
Punkte
6
Hab ich mir doch gedacht :) Du musst also
/volume1/@appstore/UltimateBackup/includes/autostart
editieren und alles was nach der ersten Zeile, also nach dem #!/bin/sh kommt so einkapseln
{
...
} &

So wird es im Hintergrund ausgeführt und es kommt nicht mehr zum Abbruch.

Da ich kein Fan von vi bin, editiere ich Dateien lieber mit Midnight Commander direkt auf der Synology, installieren kann man das nach dieser Anleitung:
https://indibit.de/synology-diskstation-midnight-commander-installieren/
dann zu autostart navigieren mit F4 editor aufmachen, die beiden Zeilen mit { und } & einfügen und mit F2 speichern - fertig :)
 

hoddelac

Benutzer
Mitglied seit
14. Mrz 2015
Beiträge
130
Punkte für Reaktionen
2
Punkte
18
@Anguel Ich habe die Datei editiert (ich mache das immer mit nano) aber leider funktioniert der Autostart immer noch nicht.
im autostart.log steht auch immer noch der alte Eintrag wie oben bereits gepostet. Habe die HDD natürlich ausgehangen und wieder angesteckt.

Die Datei sieht nun so aus
Rich (BBCode):
#!/bin/sh
{dir=$(echo /volume*/@appstore/UltimateBackup)
log="$dir/usersettings/autostart.log"
autostartsettings="$dir/usersettings/autostartsettings.sh"
date=`date +%Y-%m-%d_%Hh%Mm%Ss`

echo "autostart.log - $date" > "$log"
echo "" >> "$log"

if [ -f "$autostartsettings" ]; then
	source "$autostartsettings"
	echo "autostartsettings geladen." >> "$log"
	check_autostart=$(get_key_value "$autostartsettings" "autostart")
fi

# check ob autostart verfügbar/aktiviert
if [[ "$check_autostart" != "1" ]]; then
	echo "autostart ist deaktiviert!" >> "$log"
	exit
fi

echo "Festplatte angeschlossen." >> "$log"
if [ -z "$1" ]; then
	echo "Festplattenmount konnte nicht ausgewertet werden - kein S1!" >> "$log"
	exit
fi
echo "Festplattenauswertung S1:$1" >> "$log"
p=1
while [ $p -le 20 ]; do
	mount=$(mount | grep $1 | sed 's/.*on //;s/ type.*//')
	if [ -n "$mount" ]; then
		p=666
	else
		p=`expr $p + 1`
	fi
	sleep 2
done
if [ -n "$mount" ]; then
	echo "Festplattenmount: $mount" >> "$log"
else
	echo "Festplattenmount konnte nicht ausgewertet werden!" >> "$log"
	exit
fi

# check ob Script auf externe
if [[ "$autorun_restricted" == "1" ]]; then
	script_find=$(find $mount ! -name "end_rsync_*" ! -name "start_rsync_*" -name "rsync_*.sh" -o -name "autorun")
else
	script_find=$(find $mount ! -name "end_rsync_*" ! -name "start_rsync_*" -name "*.sh" -o -name "autorun")
fi
if [ -n "$script_find" ]; then
	if [[ "$autorun_safemode" == "1" ]]; then
		syno_serial=$(cat /proc/sys/kernel/syno_serial)
		if [ -z "$syno_serial" ]; then
			echo "Synology Seriennummer konnte nicht ausgewertet werden!" >> "$log"
			echo "Da der Safe Mode genutzt wird, kann kein Script ausgeführt werden!" >> "$log"
			exit
		fi
	fi
	for script in $script_find; do
		unset check_autostart check_autorun exit_script check_safemode
		echo "$script gefunden." >> "$log"
		check_autostart=$(get_key_value "$autostartsettings" "autostart")
		check_autorun=$(get_key_value "$script" "autorun")
		[[ "$check_autostart" != "1" ]] && check_autorun="0"
		[ -z "$check_autorun" ] && check_autorun="0"
		if [[ "$check_autorun" != "0" ]]; then
			if [[ "$autorun_safemode" == "1" ]]; then
				check_safemode=$(grep -o "$syno_serial" "$script")
				if [ -z "$check_safemode" ]; then
					echo "Da der Safe Mode genutzt wird, konnte $script nicht ausgeführt werden!" >> "$log"
					echo "Um es automatisch starten zu lassen, setzen Sie die Seriennummer der DS bitte in die autorun Variable." >> "$log"
					continue
				fi
			fi
			echo "$script wird gestartet." >> "$log"
			sh "$script"
			exit_script=$?
			echo "$script beendet - exit:$exit_script" >> "$log"
			if [ $exit_script -eq 100 ]; then
				unmount="yes"
			fi
			sleep 2
		else
			echo "$script wurde nicht gestartet, da autorun deaktiviert!" >> "$log"
		fi
	done
	if [ -n "$unmount" ]; then


		echo "unmount:$unmount" >> "$log"


		check_mount=$(mount | grep "$mount" | sed 's/.* on //;s/ type .*//' | wc -l)


		echo "check_mount:$check_mount" >> "$log"
		echo "## mount ##" >> "$log"
		mount >> "$log"
		echo "## mount ##" >> "$log"


		if [ -n "$check_mount" ]; then
			for ((i=1 ; i<=check_mount ; i++ )); do
				umount "$mount"


				echo "umount:$mount" >> "$log"


				if [ $? -ne 0 ]; then
					umount_fail="$?"
				fi
			done
			if [ -n "$umount_fail" ]; then
				echo "$mount konnte nicht ausgeworfen werden! exit: $umount_fail" >> "$log"
			else
				echo "Mount: $mount wurde gelöscht." >> "$log"
				mount_delete=$(echo $1 | sed "s/[0-9]//")
				if [ -f "/sys/block/$mount_delete/device/delete" ]; then
					echo "echo 1 > /sys/block/$mount_delete/device/delete" >> "$log"
					echo 1 > "/sys/block/$mount_delete/device/delete"
					exit_delete="$?"
					sleep 5
					if [ -f "/sys/block/$mount_delete/device/delete" ]; then
						echo "/sys/block/$mount_delete/device/delete noch vorhanden!" >> "$log"
						echo "$mount konnte nicht getrennt werden! - exit: $exit_delete" >> "$log"
					else
						rmdir "$mount"
					fi
				else
					echo "/sys/block/$mount_delete/device/delete nicht gefunden!" >> "$log"
					echo "$mount konnte nicht getrennt werden!" >> "$log"
				fi
			fi
		else
			echo "Es wurde kein mount gefunden!" >> "$log"
			echo "$mount konnte nicht getrennt werden!" >> "$log"
		fi
	else
		echo "Datenträger wird nicht getrennt!" >> "$log"
		echo "Zum trennen wird immer exit 100 benötigt!" >> "$log"
	fi
else
	echo "Kein Script gefunden!" >> "$log"
fi
exit } &
 

PsychoHH

Benutzer
Mitglied seit
03. Jul 2013
Beiträge
2.967
Punkte für Reaktionen
4
Punkte
78
Probier mal bitte die Befehle dazwischen zu setzen, sprich mit Absatz.

Rich (BBCode):
#/bin/sh
{ 
dir...
	
exit	
} &
 

hoddelac

Benutzer
Mitglied seit
14. Mrz 2015
Beiträge
130
Punkte für Reaktionen
2
Punkte
18
werde ich mal testen, kopiere gerade meine Daten wieder auf die HDD, hatte sie nochmal neu formatiert
 

hoddelac

Benutzer
Mitglied seit
14. Mrz 2015
Beiträge
130
Punkte für Reaktionen
2
Punkte
18
Perfekt jetzt läuft alles wie es soll. DSM meldet noch das die Platte nicht ordnungsgemäß ausgeworfen wurde aber sie ist ausgeworfen.

Danke euch beiden!! (PsychoHH & Anguel)
 

Anguel

Benutzer
Mitglied seit
12. Mrz 2018
Beiträge
79
Punkte für Reaktionen
0
Punkte
6
Super! Du nutzt keine verschlüsselten Ordner, oder? Bei mir mussten diese auch getrennt werden, sonst hatte ich auch die Meldung, dass die Platte nicht ordnungsgemäß ausgeworfen wurde.
Steht diesbezüglich was im Debug-Log oder in /var/log/messages ?
 

hoddelac

Benutzer
Mitglied seit
14. Mrz 2015
Beiträge
130
Punkte für Reaktionen
2
Punkte
18
hi, nein benutze keine verschlüsseln Ordner, beim zweiten Test kam die Meldung auch nicht mehr
 

Anguel

Benutzer
Mitglied seit
12. Mrz 2018
Beiträge
79
Punkte für Reaktionen
0
Punkte
6
Wenn das Problem wieder auftritt kannst du evtl. die sleep Werte nach dem Backup oder nach dem Unmount etwas erhöhen - in der Datei autostart. Vielleicht kann PsychoHH sagen, ob das was bringen könnte.
 

hoddelac

Benutzer
Mitglied seit
14. Mrz 2015
Beiträge
130
Punkte für Reaktionen
2
Punkte
18
werde das mal im Auge behalten, mache noch ein paar Durchläufe
 

Anguel

Benutzer
Mitglied seit
12. Mrz 2018
Beiträge
79
Punkte für Reaktionen
0
Punkte
6
Ich habe ein nächtliches Backup laufen, das extern gemountete Ordner von einem WD MyCloud auf mein Synology sichert.
Das Problem ist, dass ich dann ab und zu "Host is down" Fehler bekomme, obwohl das Backup meistens problemlos durchläuft. Ich vermute mal, weil das WD MyCloud eine Weile zum Starten der Platte aus dem Standby braucht.

Rich (BBCode):
Starte Datensicherung:
von: /volume1/EXTMOUNT_MYCLOUD-FB
nach: /volume1/OFFSITE/NASes
rsync: readlink_stat("/volume1/EXTMOUNT_MYCLOUD-FB/MeinOrdner") failed: Host is down (112) IO error encountered -- skipping file deletion

Nun habe ich die Anzahl der Wiederholungen bei Fehler in UB höher gesetzt, aber trotzdem sehe ich keinen Wiederholungsversuch im Log.
 

PsychoHH

Benutzer
Mitglied seit
03. Jul 2013
Beiträge
2.967
Punkte für Reaktionen
4
Punkte
78
Eigentlich sollte ein ping aber nicht so schnell abgeschmettert werden.
Dann würde ich einfach nach dem ping mal ein sleep einbauen und das checken
 

Anguel

Benutzer
Mitglied seit
12. Mrz 2018
Beiträge
79
Punkte für Reaktionen
0
Punkte
6
OK, danke, werde mal schauen. Aber hat es einen bestimmten Grund, dass es bei Fehler 23 zu keiner Wiederholung kommt oder hat sich irgendwo in der Wiederholungsschleife ein Bug eingeschlichen?
 
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