[] rsync Backup von /home/user - Script von MSfree

Du hast Probleme mit Deinem eMail-Programm, Webbrowser oder Textprogramm? Dein Lieblingsprogramm streikt?
AxelMD
Beiträge: 880
Registriert: 15.03.2009 08:02:11

[] rsync Backup von /home/user - Script von MSfree

Beitrag von AxelMD » 14.01.2022 10:17:28

viewtopic.php?t=182681#p1292743


Hallo Forum,

Einstieg

https://rsync.samba.org/
Bild

Mit einem Bild kommt es mir vor wie eine GUI. :-)

Später stelle ich mir so etwas vor:
Automatische Datensicherung: Backup-Script mit rsync bei Einstecken einer externen Festplatte
https://www.bitblokes.de/automatische-d ... estplatte/
Oberklasse:
https://glt16-programm.linuxtage.at/sys ... z_2016.pdf
https://i.imgur.com/FWiKhby.jpg

Script von MSfree
pastebin/?mode=view&s=40928

Code: Alles auswählen


        #/bin/bash
        #=====================================================
        # anpassen:
        #=====================================================
        #  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-* | 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

Ich möchte mein /home/axel regelmäßig auf eine USB HDD sichern.

Code: Alles auswählen

        #  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
         
Was und wie genau habe ich das Script anzupassen?
Kann mir jemand ein Beispiel geben?
Die Bezeichnungen auf dem Script sind mir nicht geläufig, ich habe zur Zeit keinen Plan davon.

@MSfree
Ist das Script von dir entwickelt?
Hast Du evtl. einen Tree / Pfade einer Sicherungfestplatte für mich, mich interssieren die Ablagepfade
und Bezeichnungen?

Welche Rechte muss die USB HDD mit dem Dateiformate ext4 haben?
Was empfiehlt sich da?
Jeder soll Zugriff haben?

Danke

VG
AxelMD
Zuletzt geändert von AxelMD am 18.01.2022 19:39:33, insgesamt 14-mal geändert.

Benutzeravatar
MSfree
Beiträge: 7944
Registriert: 25.09.2007 19:59:30

Re: rsync Backup von /home/user - Script von MSfree

Beitrag von MSfree » 14.01.2022 10:35:15

AxelMD hat geschrieben: ↑ zum Beitrag ↑
14.01.2022 10:17:28
Ich möchte mein /home/axel regelmäßig auf eine USB HDD sichern.

Code: Alles auswählen

        #  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
         
Was und wie genau habe ich das Script anzupassen?
SRC ist die Datenquelle, in deinem Fall also das Verzeichnis /home/axel
DSTDIR ist das Zielverzeichnis, wo rsync seine Sicherung anlegen soll. In deinem Fall also der Mountpunkt, an dem deine USB-Platte gemountet ist. Wie der bei dir genau heißt, kann ich natürlich nicht wissen, typischerweise werden USB-Geräte aber unter /media/Benutzername/UUID gemountet.
HTMLLOGDIR ist das Verzechnis auf der USB-Platte, wo die Logs des rsync-Laufs im HTML-Format abgelegt werden.

Ich würde auf der USB-Platte zwei Verzeichniss anlegen:

Code: Alles auswählen

mkdir /media/Benutzername/UUID/backup
und

Code: Alles auswählen

mkdir /media/Benutzername/UUID/Logs
Dann ergeben sich die Einträge für SRC, DSTDIR und HTMLLOGDIR wie folgt:

Code: Alles auswählen

SRC=/home/axel
DSTDIR=/media/Benutzername/UUID/backup
HTMLLOGDIR=/media/Benutzername/UUID/Logs
Wie gesagt, wo das USB-Laufwerk gemountet ist, mußt du selbst für deine Kiste herausfinden und dann /media/Benutzername/UUID entsprechend ersetzen.

AxelMD
Beiträge: 880
Registriert: 15.03.2009 08:02:11

Re: rsync Backup von /home/user - Script von MSfree

Beitrag von AxelMD » 14.01.2022 10:41:59

Einen KDE Desktop und automount mit Dolphin verwende ich.

USB-HDD_1
/media/axel/usbhdd1/

USB-HDD_2
/media/axel/usbhdd2/

So sieht es bei mir zur Zeit aus.

Oder muss ich mich schon jetzt mit den UUID's weiter beschäftigen?

von @MSfree
Nein, das würde auch keinen Sinn ergeben. Umgekehrt, Du mußt udev beibringen, das Skript aufzurufen.
Macht es Sinn sich später mit dem Gedanken um eine Ausführung von dem Script sich mit udev zu beschäftigen?
Oder verkompliziert das nur und ich sollte darauf verzichten?
MSfree nutzt zur Zeit keine udev Funktionen.

Benutzeravatar
MSfree
Beiträge: 7944
Registriert: 25.09.2007 19:59:30

Re: rsync Backup von /home/user - Script von MSfree

Beitrag von MSfree » 14.01.2022 11:33:48

AxelMD hat geschrieben: ↑ zum Beitrag ↑
14.01.2022 10:41:59
Einen KDE Desktop und automount mit Dolphin verwende ich.

USB-HDD_1
/media/axel/usbhdd1/

USB-HDD_2
/media/axel/usbhdd2/

Oder muss ich mich schon jetzt mit den UUID's weiter beschäftigen?
Nein, mit den UUIDs brauchst du dich erstmal nicht beschätigen. Ich denke, daß das auch von der Desktopumgebung abhängt, unter welchem Namen die USB-Platten eingehängt werden. Nicht umsonst hatte ich oben "typischerweise" geschrieben.

DSTDIR ist dann entweder /media/axel/usbhdd1/backup oder /media/axel/usbhdd2/backup, je nachdem, auf welcher Platte dein Backup landen soll.
Macht es Sinn sich später mit dem Gedanken um eine Ausführung von dem Script sich mit udev zu beschäftigen?
Wenn du es später automatisieren willst, ist das durchaus sinnvoll. Im ersten Schritt würde ich erstmal das Backup ansich zum Laufen bringen, auch wenn es erstmal noch von Hand angestossen wird.
MSfree nutzt zur Zeit keine udev Funktionen.
Richtig. Mein Hardwareausstattung ist auch ein wenig anders. Ich habe einen Fileserver, den meine Clients per NFS einbinden. Dieser Fileserver wird auf einen eigenen Rechner mit ausreichender Plattenkapazität gesichert. Die beiden Rechner laufen 24/7 und die Sicherung findet bei mit über cron gesteuert statt, wobei genau das von dir gezeigte Skript durch cron aufgerufen wird. Als Besonderheit sei noch darauf verwiesen, daß mein Fileserver das Backup nicht auf den Backuprechner schiebt sondern, daß ich umgekehrt verfahre. 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.

AxelMD
Beiträge: 880
Registriert: 15.03.2009 08:02:11

Re: rsync Backup von /home/user - Script von MSfree

Beitrag von AxelMD » 14.01.2022 16:58:50

Wie bekomme ich das Script in einem einfachen *.txt geladen?

Mein Versuche beim Download haben vor den Zeilen immer mehrere Leerzeichen.
Das habe ich jetzt, Quellcode markieren, dann copy und paste.

Fehlermeldung:

Code: Alles auswählen

ls: Zugriff auf '/media/axel/usbhdd1/backup/daily-*' nicht möglich: Datei oder Verzeichnis nicht gefunden
Ich habe nur die Order:
backup
Logs

Was fehlt mir noch?

Mal mit --force versuchen.

Code: Alles auswählen

sh ./rsync-msfree.sh --force
Die Dateien sind jetzt usbhdd1 .

Wie kommt das, dass das Backup fast sofort aus der ubshhd1 ist?
Keinerlei Mitteilungen habe ich halten außer der Abfrage:

Code: Alles auswählen

gzip: /media/axel/usbhdd1/backup/log/log-14.01.22.log.gz already exists; do you wish to overwrite (y or n)? y
Ist da irgendwo etwas im Cache gespeichert?
Es sind 8 GB Daten, oder sind das auf der usbhdd1 nur Symlinks?
Wie kann das so fix gehen?

Im log-14.01.22.html als txt:

Code: Alles auswählen

================================================
Started at Fr 14. Jan 16:20:20 UTC 2022
================================================
Fetching from /home/axel
Storing at /media/axel/usbhdd1/backup/daily-14.01.22
Hardlinking from /media/axel/usbhdd1/backup/daily-14.01.22
================================================
sending incremental file list
created directory /media/axel/usbhdd1/backup/.running-14.01.22
axel/.mozilla/firefox/gjpm95rb.default-release/sessionstore-backups/
axel/.mozilla/firefox/gjpm95rb.default-release/sessionstore-backups/recovery.baklz4
axel/.mozilla/firefox/gjpm95rb.default-release/sessionstore-backups/recovery.jsonlz4
axel/.mozilla/firefox/gjpm95rb.default-release/storage/default/moz-extension+++560d03ec-daba-4bd3-8c44-00f42245a256^userContextId=4294967295/idb/3647222921wleabcEoxlt-eengsairo.sqlite
axel/.mozilla/firefox/gjpm95rb.default-release/storage/default/moz-extension+++560d03ec-daba-4bd3-8c44-00f42245a256^userContextId=4294967295/idb/3647222921wleabcEoxlt-eengsairo.sqlite-wal

sent 5,187,319 bytes received 5,771 bytes 3,462,060.00 bytes/sec
total size is 7,650,933,906 speedup is 1,473.29
================================================
Finished at Fr 14. Jan 16:20:21 UTC 2022
================================================ 
Mein angepasstes Sript:

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 

schwedenmann
Beiträge: 5168
Registriert: 30.12.2004 15:31:07
Wohnort: Wegberg

Re: rsync Backup von /home/user - Script von MSfree

Beitrag von schwedenmann » 14.01.2022 17:46:59

Hallo

st da irgendwo etwas im Cache gespeichert?
Es sind 8 GB Daten, oder sind das auf der usbhdd1 nur Symlinks?
Wie kann das so fix gehen?
Liegt wohl daran:
Fetching from /home/axel
Storing at /media/axel/usbhdd1/backup/daily-14.01.22
Hardlinking from /media/axel/usbhdd1/backup/daily-14.01.22
================================================
sending incremental file list
mfg
schwedenmann

AxelMD
Beiträge: 880
Registriert: 15.03.2009 08:02:11

Re: rsync Backup von /home/user - Script von MSfree

Beitrag von AxelMD » 14.01.2022 17:48:35

Was bedeutet das übersetzt für einen noob?

Dann stimmt doch irgendwas mit meinem Script nicht.



#######################################
Das folgende Script funktioniert.

rsync-min.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 
Zuletzt geändert von AxelMD am 15.01.2022 14:08:02, insgesamt 3-mal geändert.

AxelMD
Beiträge: 880
Registriert: 15.03.2009 08:02:11

Re: rsync Backup von /home/user - Script von MSfree

Beitrag von AxelMD » 15.01.2022 10:02:30

Script 16.01.2022

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 usbhdd1 habe neu ext4 formatiert
- sudo chmod a+rwx /media/axel/usbhdd1/
- Verzeichnissse "backup" und "Logs" angelegt
- sh ./rsync-msfree.sh

Code: Alles auswählen

sh ./rsync-msfree.sh
ls: Zugriff auf '/media/axel/usbhdd1/backup/daily-*' nicht möglich: Datei oder Verzeichnis nicht gefunden
^C
Liegt der Fehler bei mir oder an dem Script von MSfree?
Was läuft falsch?
Warum ist fehlt bei Beispiel "DSTDIR=/media/axel/usbhdd1/backup" ein "/" am Ende der Zeile?

Benutzeravatar
Tintom
Moderator
Beiträge: 2595
Registriert: 14.04.2006 20:55:15
Wohnort: Göttingen

Re: rsync Backup von /home/user - Script von MSfree

Beitrag von Tintom » 15.01.2022 10:22:10

AxelMD hat geschrieben: ↑ zum Beitrag ↑
15.01.2022 10:02:30
Was läuft faslch?
Vermutlich liegt's daran:
# gestriges Verzeichnis
PREV=`ls -rtd $DSTDIR/$PREFIX-* | tail -1`

Sofern du das Skript zum ersten mal auf einem neuen (formatierten !) Medium ausführst, gibt es kein Verzeichnis vom Vortag. Das führt dann zu dem beschriebenen Fehler. Taucht die Fehlermeldung beim zweiten Durchlauf wieder auf?
Warum ist fehlt bei Beispiel "DSTDIR=/media/axel/usbhdd1/backup" ein "/" am Ende der Zeile?
Das ist der „Klassiker“ von rsync. Schau mal in die Manpage.

AxelMD
Beiträge: 880
Registriert: 15.03.2009 08:02:11

Re: rsync Backup von /home/user - Script von MSfree

Beitrag von AxelMD » 15.01.2022 10:34:56

https://linux.die.net/man/1/rsync

Wo ist da die Frage nach "/" beantwortet?

Mit Klassiker kann ich wenig anfangen, ich bin new age.

Code: Alles auswählen

sh ./rsync-msfree.sh --force
Damit funktioniert es, wenn 2 mal ausgeführt, warum ist "--force" erforderlich?
Zuletzt geändert von AxelMD am 15.01.2022 10:37:17, insgesamt 1-mal geändert.

Benutzeravatar
Tintom
Moderator
Beiträge: 2595
Registriert: 14.04.2006 20:55:15
Wohnort: Göttingen

Re: rsync Backup von /home/user - Script von MSfree

Beitrag von Tintom » 15.01.2022 10:35:45

AxelMD hat geschrieben: ↑ zum Beitrag ↑
15.01.2022 10:34:56
Wo ist da die Frage nach "/" beantwortet?
Abschnitt „Usage“.

AxelMD
Beiträge: 880
Registriert: 15.03.2009 08:02:11

Re: rsync Backup von /home/user - Script von MSfree

Beitrag von AxelMD » 15.01.2022 10:40:35

Warum ist das ein Klassiker?
So richtig konnte ich mir die Frage nach "/" noch nicht beantworten.

Benutzeravatar
Tintom
Moderator
Beiträge: 2595
Registriert: 14.04.2006 20:55:15
Wohnort: Göttingen

Re: rsync Backup von /home/user - Script von MSfree

Beitrag von Tintom » 15.01.2022 10:42:05

AxelMD hat geschrieben: ↑ zum Beitrag ↑
15.01.2022 10:34:56
Damit funktioniert es, wenn 2 mal ausgeführt, warum ist "--force" erforderlich?
Gar nicht. Das Skript wertet --force nicht aus. Du kannst den Schalter weglassen. Es funktioniert ab dem zweiten Durchlauf, weil am Ende des ersten Durchlaufs das entsprechende Verzeichnis angelegt wird (Befehl mv ...) und deshalb bei Beginn des zweiten Durchlaufs die Variable $PREV korrekt gesetzt wird.

AxelMD
Beiträge: 880
Registriert: 15.03.2009 08:02:11

Re: rsync Backup von /home/user - Script von MSfree

Beitrag von AxelMD » 15.01.2022 10:42:46

Warum ist das ein Klassiker?
So richtig konnte ich mir die Frage nach "/" noch nicht beantworten.

Antwort: Es ist ein Klassiker weil, .............., das kannst Du unter usage https://linux.die.net/man/1/rsync nachlesen.

Das hält Threads kurz.

Ich habe von rsync bis jetzt keine Ahnung.
Das Skript wertet --force nicht aus.
Dann habe ich also unwissentlich, durch den zweiten Aufruf von dem Script das Problem gelöst und nicht durch "--force".

Anleitung für rsync-msfree.sh, merke dir das AxelMD:
Beim der ersten Nutzung muss das Script 2 mal aufgerufen werden.


Wie muss ich das Script abändern, damit ich sagen wir jede Minute einen Test ausführen kann?
Zuletzt geändert von AxelMD am 15.01.2022 15:11:56, insgesamt 2-mal geändert.

Benutzeravatar
Tintom
Moderator
Beiträge: 2595
Registriert: 14.04.2006 20:55:15
Wohnort: Göttingen

Re: rsync Backup von /home/user - Script von MSfree

Beitrag von Tintom » 15.01.2022 11:06:02

AxelMD hat geschrieben: ↑ zum Beitrag ↑
15.01.2022 10:42:46
Antwort: Es ist ein Klassiker weil, .............., das kannst Du unter usage https://linux.die.net/man/1/rsync nachlesen.

Das hält Threads kurz.
Dein Humor gefällt mir :wink:
AxelMD hat geschrieben: ↑ zum Beitrag ↑
15.01.2022 10:42:46
Wie muss ich das Script abändern, damit ich sagen wir jede Minute einen Test ausführen kann?
Einen Test worauf? Was willst du testen?
AxelMD hat geschrieben: ↑ zum Beitrag ↑
15.01.2022 10:42:46
So richtig konnte ich mir die Frage nach "/" noch nicht beantworten.
Es sind die Beispiele 2+3 der Manpage, die ich meinte. Ich kann sie leider nicht treffender wiedergeben, weil ich das Beispiel dort für sehr gelungen halte und im Netz keine bessere Übersetzung/Beispiel dazu finde.

Antworten