[] rsync Backup von /home/user - Script von MSfree
Re: [] rsync Backup von /home/user - Script von MSfree
bitten Löschen, ein Versehen, danke
Zuletzt geändert von AxelMD am 16.01.2022 14:24:50, insgesamt 1-mal geändert.
Re: [] rsync Backup von /home/user - Script von MSfree
Oh super, danke
Mein heimlicher Favorit ist schon die Lösung
"rsync Backup von /home/user - Script von MSfree".
Flexibel, schnell und mit Basisprogramm, nur etwas schlau sollte man sein.
rsync, die Funktionalitäten sind fast unendlich und in jedem Linuxsystem enthalten.
Das soll sich AxelMD auch merken:
MSfree
Mein heimlicher Favorit ist schon die Lösung
"rsync Backup von /home/user - Script von MSfree".
Flexibel, schnell und mit Basisprogramm, nur etwas schlau sollte man sein.
rsync, die Funktionalitäten sind fast unendlich und in jedem Linuxsystem enthalten.
Das soll sich AxelMD auch merken:
MSfree
Mein Backupsystem holt sich die Daten vom Fileserver. Das hat den wesentlichen Vorteil, daß der Backuprechner keine Netzwerkfreigaben nach aussen anbieten muß und Schadsoftware es wesentlich schwerer hat, von aussen den Backuprechner zu infizieren.
Re: [] rsync Backup von /home/user - Script von MSfree
Fehlermeldung
rsync-msfree-3.sh
Vor der Scriptausführung hatte ich alles auf usbhdd1 gelöscht.
Die Ordner "backup" und "Logs" habe ich danach manuell auf usbhdd1 angelegt.
Wie bekomme ich debianforum.de pastebin die Dateien sauber auf meinen PC?
Bis jetzt mache ich das mit copy und paste.
Schade, was läuft da falsch?
Code: Alles auswählen
sh ./rsync-msfree-3.sh
ls: Zugriff auf '/media/axel/usbhdd1/backup/daily-*' nicht möglich: Datei oder Verzeichnis nicht gefunden
Code: Alles auswählen
#/bin/bash
#=====================================================
# anpassen:
#=====================================================
# SRC = Hostname und Freigabename der Quelle
SRC=/home/axel
# DSTDIR = Vereichnis, unter dem die Backups auf dem Ziel angelegt werden
DSTDIR=/media/axel/usbhdd1/backup
# HTMLLOGDIR = Vereichnis, unter dem die Logs auf dem Ziel angelegt werden
HTMLLOGDIR=/media/axel/usbhdd1/Logs
# PREFIX: "Vorsilbe", die den täglichen Unterverzeichnisnamen vorgehängt wird
PREFIX=daily
#=====================================================
# automatische Variablen, keine Anpssung nötig
#=====================================================
# aktuelles Datum
DATE=`date +%d.%m.%y`
# Zielverzeichnis
DST=$DSTDIR/$PREFIX-$DATE
# temporäres Verzeichnis
BUS=$DSTDIR/.running-$DATE
# Logdateiname
LOG=$DSTDIR/log/log-$DATE.log
# HTML-Logdatei
HTMLLOG=$HTMLLOGDIR/log-$DATE.html
# gestriges Verzeichnis
PREV=`ls -rtd $DSTDIR/$PREFIX-* | tail -1`
#=====================================================
# anlegen der Ausgabeverzeichnisse
#=====================================================
if test ! -d $DSTDIR
then
mkdir $DSTDIR
fi
if test ! -d $DSTDIR/log
then
mkdir $DSTDIR/log
fi
#=====================================================
# Kopf der Logdate erzeugen
#=====================================================
CURRENTTIME=`date -u`
echo "================================================" > $LOG
echo "Started at " $CURRENTTIME >> $LOG
echo "================================================" >> $LOG
echo "Fetching from " $SRC >> $LOG
echo "Storing at " $DST >> $LOG
echo "Hardlinking from " $PREV >> $LOG
echo "================================================" >> $LOG
#=====================================================
# rsync aufrufen und bei Fehler neu starten
# die Sicherung wird hier erstmal in ein temporäres
# Verzeichnis geschrieben
#=====================================================
while ! \
rsync -av --link-dest=$PREV $SRC $BUS >> $LOG 2>&1
do
sleep 60
done
#=====================================================
# Sicherungsverzechnis in endgültigen Namen umbenennen
# und mit touch auf die aktuelle Uhrzeit setzen
#=====================================================
mv $BUS $DST
touch $DST
#=====================================================
# Ende der Logdate erzeugen
#=====================================================
CURRENTTIME=`date -u`
echo "================================================" >> $LOG
echo "Finished at " $CURRENTTIME >> $LOG
echo "================================================" >> $LOG
#=====================================================
# Logdate HTML umsetzen, damit man sie leichter in
# einem Browser lesen kann.
#=====================================================
awk '
BEGIN {
print "<!DOCTYPE html>"
print "<html>"
print " <head>"
print " <meta charset="UTF-8">"
print " <title>TimAchine Backup Log</title>"
print " </head>"
print " <body>"
}
{
print " "$0"<br>"
}
END{
print " </body>"
print "</html>"
}' $LOG > $HTMLLOG
#=====================================================
# originale Logdate komprimieren, um Platz zu sparen
#=====================================================
gzip -9 $LOG
Die Ordner "backup" und "Logs" habe ich danach manuell auf usbhdd1 angelegt.
Wie bekomme ich debianforum.de pastebin die Dateien sauber auf meinen PC?
Bis jetzt mache ich das mit copy und paste.
Schade, was läuft da falsch?
Re: [] rsync Backup von /home/user - Script von MSfree
Das Script funktioniert einwandfrei:
rsync-mini.sh
rsync-mini.sh
Code: Alles auswählen
#!/bin/sh
quelle=/home/axel/
ziel=/media/axel/usbhdd1/
heute=$(date +%Y-%m-%d)
rsync -avR --delete "${quelle}" "${ziel}${heute}/" --link-dest="${ziel}last/"
ln -nsf "${ziel}${heute}" "${ziel}last"
exit 0
Re: [] rsync Backup von /home/user - Script von MSfree
Es funktioniert, aber nicht so, wie du erwartest. Denn das --link-dest erfordert ein bestehendes, vorheriges Backupverzeichnis. Da bei deinem Skript das Verzeichnis ${ziel}last/ nie existiert, passiert hier einfach keine Verlinkung sondern nur eine Komplettsicherung.
Re: [] rsync Backup von /home/user - Script von MSfree
Wie löse ich das Problem bei deinem Script?AxelMD hat geschrieben:16.01.2022 14:44:55Fehlermeldung
Code: Alles auswählen
sh ./rsync-msfree-3.sh ls: Zugriff auf '/media/axel/usbhdd1/backup/daily-*' nicht möglich: Datei oder Verzeichnis nicht gefunden
Irgendwie scheine ich bei deinem Script zu "anfängerich".
Das ist natürlich nicht so schön, bei dir gefällt mir das besser, schneller und platzsparender.passiert hier einfach keine Verlinkung sondern nur eine Komplettsicherung.
Dein Script scheint aber auch ausgefeilter zu sein, hier kennt sich wohl niemand damit so richtig aus.
Es sieht sooooooo einfach aus.
Re: [] rsync Backup von /home/user - Script von MSfree
Ich dachte, das hätte ich mit dem lezten Upload behoben, aber irgendwie hat sich da doch noch ein Copy'n'Paste-Fehler eingeschlichen.AxelMD hat geschrieben:16.01.2022 17:42:06Wie löse ich das Problem bei deinem Script?Code: Alles auswählen
sh ./rsync-msfree-3.sh ls: Zugriff auf '/media/axel/usbhdd1/backup/daily-*' nicht möglich: Datei oder Verzeichnis nicht gefunden
Zur Erklärung:
Der ls-Aufruf auf Zeile 31 bringt eine Fehlermeldung, wenn noch kein altes Backup existiert. Die Meldung ist allerdings bedeutungslos, weil die Variable PREV dann trotzdem leer ist. Auf Zeile 54 wird geprüft of PREV leer ist und entscheidet damit ob das Backup mit oder ohne --link-dest gemacht werden soll.
In der Variante 41573 wird die Fehlermeldung unterdrückt. Beide Versionen laufen aber bis auf die Mledung korrekt durch. Sobald mal ein Backup vom Vortag vorhanden ist, ist auch PREV nicht mehr leer und ls gibt keine Meldung mehr aus.
P.S. ja, den Text von NoPaste kann man wohl nicht runterladen, das muß man per Copy'n'Paste machen.
Re: [] rsync Backup von /home/user - Script von MSfree
Darf ich das Script bei https://pastebin.com/ hochladen?
Hat noch keiner dich nach deinem Script befragt?
Bei jetzt 814 Aufrufen dieses Thread's scheint Interesse vorhanden zu sein.
Das Script ist auch voll cool, eine Perle sozusagen.
Feinschliff und Dokumentation ist noch erforderlich.
Bei dir oder bei mir?aber irgendwie hat sich da doch noch ein Copy'n'Paste-Fehler eingeschlichen.
Hat noch keiner dich nach deinem Script befragt?
Bei jetzt 814 Aufrufen dieses Thread's scheint Interesse vorhanden zu sein.
Das Script ist auch voll cool, eine Perle sozusagen.
Feinschliff und Dokumentation ist noch erforderlich.
Re: [] rsync Backup von /home/user - Script von MSfree
Ich habe jedenfalls keine Bedenken. Das Skript ist ja ohnehin schon öffentlich.
Das war mein Fehler.Bei dir oder bei mir?
Bis jetzt jedenfalls nicht.Hat noch keiner dich nach deinem Script befragt?
Solche Zahlen sagen nicht viel aus. Inzwischen sind es ja sogar 839, bei 37 Beiträgen. Einfach gerechnet heißt das, daß hier 839/37 also 21-22 Leute mitlesen, wovon mindestens 15 Stammnutzer dieses Forums sind.Bei jetzt 814 Aufrufen dieses Thread's scheint Interesse vorhanden zu sein.
Re: [] rsync Backup von /home/user - Script von MSfree
msfree-rsync-4.sh 41573
https://pastebin.com/LpdNRssj
Fehlermeldung:
Was ist da falsch?
Warum werden jetzt keine Leerzeilen akzeptiert?
Liegt das an pastebin?
Den Download habe mit "download" bei pastebin getätigt und "txt" beim Speichern gegen "sh" ausgetauscht.
Warum haben die Scripte von MSfree keinen "sync" Befehl enthalten damit im Schreibpuffer des Linux-Kernels befindliche Daten auf den Datenträger geschrieben werden?
Mein Editor für die *.sh ist Kate.
Für AxelMD zum merken:
Mit F11 werden bei Kate die Zeilenummern angezeigt.
Jetzt habe ich copy - paste erneut rsync-4.sh angelegt, das Script funktioniert jetzt.
Das für mich angepaßte Script (von https://pastebin.com/LpdNRssj) sieht wie folgt aus:
Wie ist ein empfehlenswertes Vorgehen für die Zukunft?
Gibt es eine Pastedienst wo ich die Datei downloaden und gleich mit arbeiten kann?
Warum haben wir, habe ich 2 mal log?
/media/axel/usbhdd1/backup/log/
und
/media/zxz/usbhdd1/Logs/
Welche Überlegung steckt dahinter?
https://pastebin.com/LpdNRssj
Fehlermeldung:
Code: Alles auswählen
sh ./rsync-4.sh
: not foundh: 7:
: not foundh: 10:
: not foundh: 13:
: not foundh: 16:
: not foundh: 32:
./rsync-4.sh: 125: Syntax error: end of file unexpected (expecting "do")
Warum werden jetzt keine Leerzeilen akzeptiert?
Liegt das an pastebin?
Den Download habe mit "download" bei pastebin getätigt und "txt" beim Speichern gegen "sh" ausgetauscht.
Warum haben die Scripte von MSfree keinen "sync" Befehl enthalten damit im Schreibpuffer des Linux-Kernels befindliche Daten auf den Datenträger geschrieben werden?
Mein Editor für die *.sh ist Kate.
Für AxelMD zum merken:
Mit F11 werden bei Kate die Zeilenummern angezeigt.
Jetzt habe ich copy - paste erneut rsync-4.sh angelegt, das Script funktioniert jetzt.
Das für mich angepaßte Script (von https://pastebin.com/LpdNRssj) sieht wie folgt aus:
Code: Alles auswählen
#/bin/bash
#=====================================================
# customize SRC, DSTDIR, HTMLLOGDIR, PREFIX:
#
# SRC = Hostname und Freigabename der Quelle
SRC=/home/axel
# DSTDIR = Vereichnis, unter dem die Backups auf dem Ziel angelegt werden
DSTDIR=/media/axel/usbhdd1/backup
# HTMLLOGDIR = Vereichnis, unter dem die Logs auf dem Ziel angelegt werden
HTMLLOGDIR=/media/axel/usbhdd1/Logs
# PREFIX: "Vorsilbe", die den täglichen Unterverzeichnisnamen vorgehängt wird
PREFIX=daily
#=====================================================
# automatische Variablen, keine Anpssung nötig
#=====================================================
# aktuelles Datum
DATE=`date +%d.%m.%y`
# Zielverzeichnis
DST=$DSTDIR/$PREFIX-$DATE
# temporäres Verzeichnis
BUS=$DSTDIR/.running-$DATE
# Logdateiname
LOG=$DSTDIR/log/log-$DATE.log
# HTML-Logdatei
HTMLLOG=$HTMLLOGDIR/log-$DATE.html
# gestriges Verzeichnis
PREV=`ls -rtd $DSTDIR/$PREFIX-* 2> /dev/null | tail -1`
#=====================================================
# anlegen der Ausgabeverzeichnisse
#=====================================================
if test ! -d $DSTDIR
then
mkdir $DSTDIR
fi
if test ! -d $DSTDIR/log
then
mkdir $DSTDIR/log
fi
if test ! -d $HTMLLOGDIR
then
mkdir $HTMLLOGDIR
fi
#=====================================================
# prüfen, ob rsync mit --link-dest laufen soll
#=====================================================
if test -z "$PREV"
then
HARDLINK=""
else
HARDLINK=--link-dest=$PREV
fi
#=====================================================
# Kopf der Logdate erzeugen
#=====================================================
CURRENTTIME=`date -u`
echo "================================================" > $LOG
echo "Started at " $CURRENTTIME >> $LOG
echo "================================================" >> $LOG
echo "Fetching from " $SRC >> $LOG
echo "Storing at " $DST >> $LOG
echo "Hardlinking from " $PREV >> $LOG
echo "================================================" >> $LOG
#=====================================================
# rsync aufrufen und bei Fehler neu starten
# die Sicherung wird hier erstmal in ein temporäres
# Verzeichnis geschrieben
#=====================================================
while ! \
rsync -av $HARDLINK $SRC $BUS >> $LOG 2>&1
do
sleep 60
done
#=====================================================
# Sicherungsverzechnis in endgültigen Namen umbenennen
# und mit touch auf die aktuelle Uhrzeit setzen
#=====================================================
mv $BUS $DST
touch $DST
#=====================================================
# Ende der Logdate erzeugen
#=====================================================
CURRENTTIME=`date -u`
echo "================================================" >> $LOG
echo "Finished at " $CURRENTTIME >> $LOG
echo "================================================" >> $LOG
#=====================================================
# Logdate HTML umsetzen, damit man sie leichter in
# einem Browser lesen kann.
#=====================================================
awk '
BEGIN {
print "<!DOCTYPE html>"
print "<html>"
print " <head>"
print " <meta charset="UTF-8">"
print " <title>TimAchine Backup Log</title>"
print " </head>"
print " <body>"
}
{
print " "$0"<br>"
}
END{
print " </body>"
print "</html>"
}' $LOG > $HTMLLOG
#=====================================================
# originale Logdate komprimieren, um Platz zu sparen
#=====================================================
gzip -9 $LOG
Gibt es eine Pastedienst wo ich die Datei downloaden und gleich mit arbeiten kann?
Warum haben wir, habe ich 2 mal log?
/media/axel/usbhdd1/backup/log/
und
/media/zxz/usbhdd1/Logs/
Welche Überlegung steckt dahinter?
Re: [] rsync Backup von /home/user - Script von MSfree
Weil sync praktisch immer überflüssig ist. Ich sehe zwar hier im Forum, öfter mal, daß auf manche Befehle sync empfohlen wird, z.B. beim Schreiben eines netinstaller Images mit dd, aber auch hier ist sync überflüssig, weil dd selbst bereits intern sync aufruft.AxelMD hat geschrieben:17.01.2022 08:53:15Warum haben die Scripte von MSfree keinen "sync" Befehl enthalten damit im Schreibpuffer des Linux-Kernels befindliche Daten auf den Datenträger geschrieben werden?
Ansonsten wird auf jeden Fall sync ausgeführt, wenn man einen Datenträger unmountet. Wer also den Datenträger nicht blind abzieht sondern die Mechanismen zum (sicheren) Auswerfen im Dateimanager bzw. umount von der Kommanzeile nutzt, bekommt auf jeden Fall einen sauber gesyncten Datenträger.
Ich weiß es nicht. Du kannst aber auch von NoPoaste Dateien runterladen. Ich habe den Knopf zwar auch verzweifelt gesucht, aber der Thread hier hat Klarheit geschaffen:Was ist da falsch?
Warum werden jetzt keine Leerzeilen akzeptiert?
Liegt das an pastebin?
viewtopic.php?t=183289
Re: [] rsync Backup von /home/user - Script von MSfree
Das eine Log ist nur die Ausgabe, die rsync produziert. Diese wird am Ende noch mit gzip komprimiert, um Platz zu sparen. Man kann diese Dateien dann allerdings nur mit einigen Editoren direkt lesen oder mit Kommandozeilenprogrammen wie zcat.AxelMD hat geschrieben:17.01.2022 08:53:15Warum haben wir, habe ich 2 mal log?
/media/axel/usbhdd1/backup/log/
und
/media/zxz/usbhdd1/Logs/
Welche Überlegung steckt dahinter?
Das zweite Log ist im HTML-Format, das man direkt mit einem Webbrowser (Firefox) anzeigen kann. Das hatte ich damals eingebaut, als ich das Skript noch auf meiner damaligen Synology laufen ließ. Mit dem dort Eingebaute Webserver konnte ich die Logs bequem aufrufen und anschauen. Die Synology ist zwar inzwischen Geschichte, aber die HTML-formatierten Logs habe ich beibehalten. Wenn es dich stört, kannst du den Teil am Ende des Skripts auch auskommentieren oder löschen.
Re: [] rsync Backup von /home/user - Script von MSfree
Das Script belasse ich so, das mit HTML ist ganz interessant.
Erst mal muss ich die Basics verstehen, dann kann ich anpassen.
Ansonsten verrenne ich mich.
Der Einstieg mit dem Script ist sowieso über meinem Kenntnisstand.
Ohne dich hätte ich das nicht hinbekommen, danke.
Wenn ich das letzte Script auf Minuten ausführbar mit "%M" stelle, werden nicht
die letzten Daten von heute z. B. 11 h aufgenommen.
Es wird nur das erste Backup vom Tag berücksichtigt, ich erzeuge nur Duplikate.
Woran liegt das?
In welcher Zeile ist das hinterlegt?
Hast Du dazu auch Input? ----> viewtopic.php?t=183277
Erst mal muss ich die Basics verstehen, dann kann ich anpassen.
Ansonsten verrenne ich mich.
Der Einstieg mit dem Script ist sowieso über meinem Kenntnisstand.
Ohne dich hätte ich das nicht hinbekommen, danke.
Code: Alles auswählen
# aktuelles Datum
DATE=`date +%d.%m.%y,%H,%M`
die letzten Daten von heute z. B. 11 h aufgenommen.
Es wird nur das erste Backup vom Tag berücksichtigt, ich erzeuge nur Duplikate.
Woran liegt das?
In welcher Zeile ist das hinterlegt?
Hast Du dazu auch Input? ----> viewtopic.php?t=183277
Re: [] rsync Backup von /home/user - Script von MSfree
Ich verstehe nicht, was du meinst. Schau mal in das erzeugte Log, da steht drin, welche Dateien übertragen wurden.AxelMD hat geschrieben:17.01.2022 11:02:01Wenn ich das letzte Script auf Minuten ausführbar mit "%M" stelle, werden nicht
die letzten Daten von heute z. B. 11 h aufgenommen.
Es wird nur das erste Backup vom Tag berücksichtigt, ich erzeuge nur Duplikate.
Nur soviel:Hast Du dazu auch Input? ----> viewtopic.php?t=183277
Man sollte bei der "Anleitung", die du unter Bitblokes gefunden hast, auch mal auf das Datum schauen. Leider fehlt solchen Blogs oft das Veröffentlichungsdatum, aber die Kommentare weiter unten sind 10 Jahre alt. Mittlerweile wurde Debian auf systemd umgestellt, und da funktioniert die 10 Jahre alte Methode möglicherweise nicht mehr so, wie beschrieben.
Re: [] rsync Backup von /home/user - Script von MSfree
Etwas offtopic:
Ich habe jetzt nicht alles gelesen. Aber vor Jahren habe ich auch mal ein Script geschrieben.
Du musst es bestimmt nicht verwenden. Aber vielleicht enthält es ja noch ein paar interessante Ansätze:
https://wiki.ubuntuusers.de/Skripte/Backup_mit_RSYNC
Ich habe jetzt nicht alles gelesen. Aber vor Jahren habe ich auch mal ein Script geschrieben.
Du musst es bestimmt nicht verwenden. Aber vielleicht enthält es ja noch ein paar interessante Ansätze:
https://wiki.ubuntuusers.de/Skripte/Backup_mit_RSYNC
Re: [] rsync Backup von /home/user - Script von MSfree
Hier bitte nur "rsync Backup von /home/user - Script von MSfree"
Automatische Datensicherung: Backup-Script mit rsync bei Einstecken einer externen Festplatte
bitte da ------------>
viewtopic.php?t=183277#p1292918
Automatische Datensicherung: Backup-Script mit rsync bei Einstecken einer externen Festplatte
bitte da ------------>
viewtopic.php?t=183277#p1292918
Re: [] rsync Backup von /home/user - Script von MSfree
Ich nutze Dolphin zum unmounten, also keine Kommandozeile.MSfree hat geschrieben:17.01.2022 10:35:06Weil sync praktisch immer überflüssig ist. Ich sehe zwar hier im Forum, öfter mal, daß auf manche Befehle sync empfohlen wird, z.B. beim Schreiben eines netinstaller Images mit dd, aber auch hier ist sync überflüssig, weil dd selbst bereits intern sync aufruft.AxelMD hat geschrieben:17.01.2022 08:53:15Warum haben die Scripte von MSfree keinen "sync" Befehl enthalten damit im Schreibpuffer des Linux-Kernels befindliche Daten auf den Datenträger geschrieben werden?
Ansonsten wird auf jeden Fall sync ausgeführt, wenn man einen Datenträger unmountet. Wer also den Datenträger nicht blind abzieht sondern die Mechanismen zum (sicheren) Auswerfen im Dateimanager bzw. umount von der Kommanzeile nutzt, bekommt auf jeden Fall einen sauber gesyncten Datenträger.
Kann ich ein "sync" am Ende des Scripts anfügen?
Bei langsamen USB Stick*s scheint es erforderlich zu sein.
Wie kann ich das Script rsync-msfree-4.sh im Ordner /home/axel/rsnyc direkt aufrufen?
https://qastack.com.de/ubuntu/427818/ho ... -full-path
Geht das nicht einfacher?
Re: [] rsync Backup von /home/user - Script von MSfree
Kann man machen, schadet nicht, ist aber überflüssig.
Nein, es ist selbst dann unnötig. Wenn man umount ausführt, dauert es halt dann länger, bis alle Puffer und Caches rausgeschrieben sind. Aber wenn umount fertig ist, ist das Medium garantiert gesynct.Bei langsamen USB Stick*s scheint es erforderlich zu sein.
Auch Dolphin sollte erst dann zur Bereitschaft zurückkehren, wenn dort "Auswerfen", also der umount-Prozeß, vollständig durchgelaufen ist. Vorher darf man der Stick/die Platte halt nicht abziehen.
Re: [] rsync Backup von /home/user - Script von MSfree
Die Fertigmeldung "USB Medium kann entfernt" bekomme ich von Dolphin manchmal zu früh.Auch Dolphin sollte erst dann zur Bereitschaft zurückkehren, wenn dort "Auswerfen", also der umount-Prozeß, vollständig durchgelaufen ist. Vorher darf man der Stick/die Platte halt nicht abziehen.
Nach oben
Besonders oft wenn große Dateien kopiert werden.
Normalerweise ist im Terminal bei Eingabe von "sync" der Cursor sofort wieder verfügbar.
Unmounte ich mit Dolphin, bekomme die Nachricht USB kann weg, mache schnell ein "sync", arbeitet "sync"
oft noch. Das ist besonders auffällig bei langsamen USB-Flasch-Speicher der Fall.
Re: [] rsync Backup von /home/user - Script von MSfree
Was aber ein Bug im Dolphin wäre -> Bugreport.AxelMD hat geschrieben:18.01.2022 14:40:36Die Fertigmeldung "USB Medium kann entfernt" bekomme ich von Dolphin manchmal zu früh.
Wie gesagt, es schadet nicht, wenn man ans Ende dass Backupskripts noch sync anhängt, dann ist man auf der sicheren Seite.
Re: [] rsync Backup von /home/user - Script von MSfree
kann ich das an rsnyc-msfree-4.sh Script unten anhängen?
https://pastebin.com/LpdNRssj
Zeile 125
https://pastebin.com/LpdNRssj
Zeile 125
Code: Alles auswählen
rsync
Re: [] rsync Backup von /home/user - Script von MSfree
Ich erhebe kein Urheberrecht auf das Skript. Ob du da nu noch was dranhängst, bedarf keiner Genehmigung meinerseits.
Ich hatte ja weiter oben schon geschrieben, daß es kein Fehler ist, das ans Dateiende zu hängen.
Re: [gelöst] rsync Backup von /home/user - Script von MSfree
https://pastebin.com/PvibG52j
Line 125
sync ## hinzugefügt
rsync-msfree-5.sh
Welche Rechte sollte man hdd1 zuweisen?
Bei meinem rdiff-backup System hat nur root Schreibrechte und axel nur Leserechte.
axel kann nichts kaputt machen, Verschlüsselungstrojaner vermutlich auch nicht.
Sollte man das beim rsync-msfree-5.sh auch so einstellen?
Zur Zeit darf axel alles auf hdd1.
Line 125
sync ## hinzugefügt
rsync-msfree-5.sh
Code: Alles auswählen
#/bin/bash
#=====================================================
# customize SRC, DSTDIR, HTMLLOGDIR, PREFIX:
#
# SRC = Hostname und Freigabename der Quelle
SRC=quellrechner::pub
# DSTDIR = Vereichnis, unter dem die Backups auf dem Ziel angelegt werden
DSTDIR=/volume1/backup
# HTMLLOGDIR = Vereichnis, unter dem die Logs auf dem Ziel angelegt werden
HTMLLOGDIR=/volume1/RSyncLog
# PREFIX: "Vorsilbe", die den täglichen Unterverzeichnisnamen vorgehängt wird
PREFIX=daily
#=====================================================
# automatische Variablen, keine Anpssung nötig
#=====================================================
# aktuelles Datum
DATE=`date +%d.%m.%y`
# Zielverzeichnis
DST=$DSTDIR/$PREFIX-$DATE
# temporäres Verzeichnis
BUS=$DSTDIR/.running-$DATE
# Logdateiname
LOG=$DSTDIR/log/log-$DATE.log
# HTML-Logdatei
HTMLLOG=$HTMLLOGDIR/log-$DATE.html
# gestriges Verzeichnis
PREV=`ls -rtd $DSTDIR/$PREFIX-* 2> /dev/null | tail -1`
#=====================================================
# anlegen der Ausgabeverzeichnisse
#=====================================================
if test ! -d $DSTDIR
then
mkdir $DSTDIR
fi
if test ! -d $DSTDIR/log
then
mkdir $DSTDIR/log
fi
if test ! -d $HTMLLOGDIR
then
mkdir $HTMLLOGDIR
fi
#=====================================================
# prüfen, ob rsync mit --link-dest laufen soll
#=====================================================
if test -z "$PREV"
then
HARDLINK=""
else
HARDLINK=--link-dest=$PREV
fi
#=====================================================
# Kopf der Logdate erzeugen
#=====================================================
CURRENTTIME=`date -u`
echo "================================================" > $LOG
echo "Started at " $CURRENTTIME >> $LOG
echo "================================================" >> $LOG
echo "Fetching from " $SRC >> $LOG
echo "Storing at " $DST >> $LOG
echo "Hardlinking from " $PREV >> $LOG
echo "================================================" >> $LOG
#=====================================================
# rsync aufrufen und bei Fehler neu starten
# die Sicherung wird hier erstmal in ein temporäres
# Verzeichnis geschrieben
#=====================================================
while ! \
rsync -av $HARDLINK $SRC $BUS >> $LOG 2>&1
do
sleep 60
done
#=====================================================
# Sicherungsverzechnis in endgültigen Namen umbenennen
# und mit touch auf die aktuelle Uhrzeit setzen
#=====================================================
mv $BUS $DST
touch $DST
#=====================================================
# Ende der Logdate erzeugen
#=====================================================
CURRENTTIME=`date -u`
echo "================================================" >> $LOG
echo "Finished at " $CURRENTTIME >> $LOG
echo "================================================" >> $LOG
#=====================================================
# Logdate HTML umsetzen, damit man sie leichter in
# einem Browser lesen kann.
#=====================================================
awk '
BEGIN {
print "<!DOCTYPE html>"
print "<html>"
print " <head>"
print " <meta charset="UTF-8">"
print " <title>TimAchine Backup Log</title>"
print " </head>"
print " <body>"
}
{
print " "$0"<br>"
}
END{
print " </body>"
print "</html>"
}' $LOG > $HTMLLOG
#=====================================================
# originale Logdate komprimieren, um Platz zu sparen
#=====================================================
gzip -9 $LOG
sync
Bei meinem rdiff-backup System hat nur root Schreibrechte und axel nur Leserechte.
axel kann nichts kaputt machen, Verschlüsselungstrojaner vermutlich auch nicht.
Sollte man das beim rsync-msfree-5.sh auch so einstellen?
Zur Zeit darf axel alles auf hdd1.
Re: [gelöst] rsync Backup von /home/user - Script von MSfree
Wenn das Skript unter dem Benutzer "axel" ausgeführt wird, ist das auch sinnvoll und nötig. Anderenfalls könnte es sein, daß du einige Dateien gar nciht schreiben darfst.
Re: [] rsync Backup von /home/user - Script von MSfree
https://www.pragmaticlinux.com/2021/05/ ... -in-linux/
rsync Option:
Hallo MSfree, kennst Du die Option?
MfG
AxelMD
rsync Option:
Code: Alles auswählen
--info=progress2
MfG
AxelMD