Webspace (FTP) auf DS sichern (mit mehreren Ständen)

NASSucher

Benutzer
Mitglied seit
05. Jul 2015
Beiträge
131
Punkte für Reaktionen
14
Punkte
24
Hallo,

ich hatte vor ein paar Jahren schon mal einen Beitrag geschrieben dieser ist aber bereits geschlossen, daher konnte ich heute nicht weiter schreiben.

Was habe ich:
- DS1221+ mit Internet Zugang ohne Portweiterleitung etc.
- Webspace wo ich per FTP Zugriff habe

Was möchte ich:
- Daten von verschiedenen Webspace (Domains) sichern auf die DS. Nach Möglichkeit auch dies z.B. 1x die Woche oder 1x im Monat so das es auf der DS verschiedene z.B. Ordner gibt nach Datum/Versionen

Frage:
1.Es gibt kein Programm/App bei der DS die dies kann?
2. Muss ich dies per wget machen, wenn ja wie?
3. Muss ich eine Portweiterleitung einrichten wenn ich das per FTP mache?
4. Was habe ich übersehen bis jetzt?

Danke schon einmal für Eure Hilfe bzw. Tips.
 

ctrlaltdelete

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
30. Dez 2012
Beiträge
10.110
Punkte für Reaktionen
3.646
Punkte
414
Kannst du nicht vom Webspace aus auf die DS sichern mit einem Tool deines Webspace?
 

NASSucher

Benutzer
Mitglied seit
05. Jul 2015
Beiträge
131
Punkte für Reaktionen
14
Punkte
24
Nein, ich kann nur Webspace Daten Intern kopieren/verschieben.
Was ich aber angelegt habe, einen FTP Zugang der nur auf bestimmte Ordner lesend Zugriff hat.

Was ich machen kann sind Cronjobs. Da kenne ich mich aber nicht aus.
Cronjobs.JPG
 

ctrlaltdelete

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
30. Dez 2012
Beiträge
10.110
Punkte für Reaktionen
3.646
Punkte
414
Du willst Nextcloud sichern oder?
 

ctrlaltdelete

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
30. Dez 2012
Beiträge
10.110
Punkte für Reaktionen
3.646
Punkte
414

peterhoffmann

Benutzer
Sehr erfahren
Mitglied seit
17. Dez 2014
Beiträge
5.555
Punkte für Reaktionen
1.394
Punkte
234
Portweiterleitung
Nein.
Im Grunde geht es recht einfach mit lftp oder wget.
Hier mal im Groben die Zweizeiler dazu.
lftp:
Code:
cd /volume1/ZIEL/VERZEICHNIS      ## Verzeichnis wo es auf der DS hin soll
lftp ftp://USER:PASSWORT@deinedomain/verzeichnis -e "mirror --Remove-source-files; bye"
wget:
Code:
cd /volume1/ZIEL/VERZEICHNIS     ## Verzeichnis wo es auf der DS hin soll
wget -nv -r -N --ftp-user=USER --ftp-password=PASSWORT ftp://deineDomain/verzeichnis

Nun zum (lösbaren) Problem:
Je nach Inhalt auf dem Webserver kann das sehr umfangreich (Anzahl der Dateien und Größe) sein. Die üblichen (textbasierten) Dateien wie HTML, PHP, CSS, usw. lassen sich gut packen. Es gibt zwei Wege, entweder nach dem Download am Zielort (auf der DS) oder vor dem Download durch den Webserver.

Packen vor dem Download durch den Webserver:
Hier kommt es auf den Anbieter an. Manche Hoster bieten vollen oder eingeschränkten Zugriff auf die Konsole an. Wenn das so ist, hat man die Möglichkeit mit tar und gzip mittels Cronjob die Dateien direkt vom Webserver zu packen.
So hat man beim Download nur eine einzige Datei, die dazu noch komprimiert und somit kleiner ist.
Beispiel: Man lässt um 1 Uhr nachts durch den Webserver das Backup packen und um 5 Uhr holt die DS die einzelne Datei ab (siehe Codeschnipsel oben).

oder

Packen nach dem Download durch die DS:
Code:
cd /volume1/ZIEL/VERZEICHNIS/TEMP
wget -nv -r -N --ftp-user=USER --ftp-password=PASSWORT ftp://deineDomain/verzeichnis
tar -cf /volume1/ZIEL/VERZEICHNIS/backup.tgz /volume1/ZIEL/VERZEICHNIS/TEMP --gzip
rm -f -R /volume1/ZIEL/VERZEICHNIS/TEMP

Alle Angaben ohne Gewähr und ohne Funktionsprüfung!
 
Zuletzt bearbeitet:

NASSucher

Benutzer
Mitglied seit
05. Jul 2015
Beiträge
131
Punkte für Reaktionen
14
Punkte
24
https://www.synology-forum.de/threa...reren-staenden-auf-einem-synology-nas.106863/
Dann sichere doch einfach den gesyncten Nextcloud Ordner inkrementell mit Hyper Backup.
Das geht leider nicht. Ich habe nur auf meine eigenen Daten Zugriff per z.B. webdav oder auf einem Windows PC wo der Client installiert ist.
Nicht aber auf die Daten der anderen.

Daher könnte ich so nie alles komplett zurück einspielen wenn mal was wäre.

@peterhoffmann
Danke schon mal, werde ich mich gleich mal daran setzen und das wget ausprobieren.
Leider muss ich alle Dateien einzeln erst runter ziehen. Auf dem Webspace vorher automatisch packen ist leider nicht.
 

peterhoffmann

Benutzer
Sehr erfahren
Mitglied seit
17. Dez 2014
Beiträge
5.555
Punkte für Reaktionen
1.394
Punkte
234
alle Dateien einzeln erst runter ziehen
Dauert halt länger, aber funktioniert auch.
Ich würde es danach aber packen (siehe letzter Codeschnipsel).

Es wäre auch möglich im Namen der gepackten Datei direkt das Datum (backup_20230811.tgz), Wochentag (backup_freitag.tgz) oder auch die Kalenderwoche (backup_woche32.tgz) einzusetzen. So kann man sich was basteln, was automatisch rotiert und überschreibt nicht immer nur das letzte Backup.

Beispiel:
Bash:
backup-`date +%Y%m%d`.tgz

Wenn du nicht weiterkommst, poste einfach mal deinen Codeschnipsel (ohne echte Zugangsdaten), sowie was du erreichen willst.
 

ctrlaltdelete

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
30. Dez 2012
Beiträge
10.110
Punkte für Reaktionen
3.646
Punkte
414
Oder mit einem Script per Cronjob auf dem Webspace die Dateien vorher packen, wie schon von @peterhoffmann beschrieben.
 
  • Like
Reaktionen: maxblank

NASSucher

Benutzer
Mitglied seit
05. Jul 2015
Beiträge
131
Punkte für Reaktionen
14
Punkte
24
So jetzt.

Einstellungen Aufgabenplaner:
Aufgabenplaner 01.jpgAufgabenplaner 02.jpgAufgabenplaner 03.jpg

Einstellungen Festplatte Speicher für die Homepage:
Festplatte Speicher Homepage.jpg

File Station Pfad und Name:
File Station Pfad und Name.jpg

Code für den Aufgabenplaner:

cd /volume3/4TB-Homepage/FTP/BVO/html/TEMP
wget -nv -r -N --ftp-user=FTPNAME --ftp-password=FTPPASSWORT ftp://bxxxxx-xxxil.de
tar -cf /volume3/4TB-Homepage/FTP/BVO/html/backup.tgz /volume3/4TB-Homepage/FTP/BVO/html/TEMP --gzip
rm -f -R /volume3/4TB-Homepage/FTP/BVO/html/TEMP


Abgelegt Online (FTP) sind 6 Bilder mit 804k KB
Angelegt auf der DS wurde ein backub.tgz mit gerade mal 213 byte welches folgenden Ordner enthält aber sonst leer ist:
backup\backup\volume3\4TB-Homepage\FTP\BVO\html\TEMP\bxxxxx-xxxil.de


Ausgabe Ergebnisse Speichern:
output.log

/bin/bash: line 0: cd: /volume3/4TB-Homepage/FTP/BVO/html/TEMP: No such file or directory
2023-08-11 12:43:11 URL: ftp://bxxxxx-xxxil.de/ [0] -> "bxxxxx-xxxil.de/.listing" [1]
No such file ''.

tar: Removing leading `/' from member names
tar: /volume3/4TB-Homepage/FTP/BVO/html/TEMP: Cannot stat: No such file or directory
tar: Exiting with failure status due to previous errors
 
Zuletzt bearbeitet:

peterhoffmann

Benutzer
Sehr erfahren
Mitglied seit
17. Dez 2014
Beiträge
5.555
Punkte für Reaktionen
1.394
Punkte
234
Setze mal als erste Zeile (vor Befehl "cd ......") ein:
Code:
mkdir /volume3/4TB-Homepage/FTP/BVO/html/TEMP
 

NASSucher

Benutzer
Mitglied seit
05. Jul 2015
Beiträge
131
Punkte für Reaktionen
14
Punkte
24
Ok, neuer Versuch.

2023-08-11 14:14:01 URL: ftp://bxxxxx-xxxil.de/ [0] -> "bxxxxx-xxxil.de/.listing" [1]
No such file ''.

tar: Removing leading `/' from member names

Sagt der mir das er auf dem FTP Pfad keinen Inhalt gefunden hat?
 

NASSucher

Benutzer
Mitglied seit
05. Jul 2015
Beiträge
131
Punkte für Reaktionen
14
Punkte
24
Es hat geklappt :) :)

Bei mir konnte der FTP zwar nur lesen und nicht schreiben allerdings......... :cautious:
nicht sehen.

Dies gerade geändert jetzt hat es funktioniert.
 

peterhoffmann

Benutzer
Sehr erfahren
Mitglied seit
17. Dez 2014
Beiträge
5.555
Punkte für Reaktionen
1.394
Punkte
234
Willst du es noch rotieren lassen?
Z.B. Dienstag, Donnerstag und Samstag? Dann hättest du immer die letzten drei Backups.

Beispiel für Wochentag:
Bash:
backup-`date +%a`.tgz
 

NASSucher

Benutzer
Mitglied seit
05. Jul 2015
Beiträge
131
Punkte für Reaktionen
14
Punkte
24
Hallo Peter,

ich war gerade dran mir aus Deinem Schnipsel was zu machen.

mkdir /volume3/4TB-Homepage/FTP/BVO/html/TEMP
cd /volume3/4TB-Homepage/FTP/BVO/html/TEMP
wget -nv -r -N --ftp-user=FTPNAME --ftp-password=FTPPASSWORT ftp://bxxxxx-xxxil.de
tar -cf /volume3/4TB-Homepage/FTP/BVO/html/backup-$(date +%Y-%m-%d_%H-%M).tgz /volume3/4TB-Homepage/FTP/BVO/html/TEMP --gzip
rm -f -R /volume3/4TB-Homepage/FTP/BVO/html/TEMP

Das sieht jetzt bei mir so aus:
backup-2023-08-11_14-42.tgz
 

peterhoffmann

Benutzer
Sehr erfahren
Mitglied seit
17. Dez 2014
Beiträge
5.555
Punkte für Reaktionen
1.394
Punkte
234
Das sieht jetzt bei mir so aus:
backup-2023-08-11_14-42.tgz
Ja, damit hättest du keine Rotation, da keine Datei überschrieben wird. Dann müsstest du ab und zu (je nach Größe) händisch löschen.

Nimmst du z.B. den hier:
Bash:
backup-`date +%a`.tgz
und lässt es an (z.B.) drei Werktagen laufen, hast du drei Versionen.

Das lässt sich noch beliebig weiter ausbauen, z.B. nur mit dem ersten Tag im Monat, entweder mit oder ohne Monatsangabe. Einmal wäre es ein Monatsbackup, welches jeden Monat überschrieben wird, beim anderen wären es Monatsbackups, die 12x vorhanden sind (immer 12 Monate lang, 1x pro Monat).
 

NASSucher

Benutzer
Mitglied seit
05. Jul 2015
Beiträge
131
Punkte für Reaktionen
14
Punkte
24
Du würdest das auch mit "Schnipsel" machen oder habe ich einen Denkfehler?
Ich habe gerade den Zeitplan geändert in der DS:
Aufgabenplaner 04 Zeitplan.jpg

Aber dabei werden auch keine gelöscht z.B. nur 10 oder 20 Stück werden behalten.
Wäre aber ok für mich.
 

peterhoffmann

Benutzer
Sehr erfahren
Mitglied seit
17. Dez 2014
Beiträge
5.555
Punkte für Reaktionen
1.394
Punkte
234
Mittels Benennung im Dateinamen (Befehl date) in Kombination mit der Häufigkeit vom Aufruf kann ich eine gewisse Rotation herstellen, da die älteren Dateien automatisch überschrieben werden

Mögliche Beispiele:
im ScriptErgebnis
Dateiname
Aufrufhäufigkeit
(Aufgabenplaner)
Ergebnis
ohne Zusatzbackup.tgzbackup.tgzegalnur ein Backup vom letzten Aufruf vorhanden
Zusatz Wochentagbackup-wochentag`date +%a`.tgzbackup-Mo.tgz
backup-Mi.tgz
backup-Fr.tgz
Mo, Mi, Frimmer 3 Backups vorhanden
(auch 7 möglich, von Mo bis So)
Zusatz Tagesdatumbackup-tag`date +%d`.tgzbackup-tag01.tgz
backup-tag15.tgz
1. und 15. im Monat2 Backups vorhanden
immer vom letzten 1. und 15. des Monats bzw. Vormonat
Zusatz Monatbackup-monat`date +%m`.tgzbackup-monat01.tgz
backup-monat02.tgz
backup-monat03.tgz
... (usw.) ...
backup-monat11.tgz
backup-monat12.tgz
1x im Monat12 Backups vorhanden, immer vom 1. jeden Monats

Es gibt noch viel mehr Möglichkeiten, die man sich da einfallen lassen kann.

Ich sichere Webinhalte (z.B. auf einem Webserver) seltener komplett, aber dafür öfter nur textbasierte Dateien (HTML, PHP, CSS, etc.).
Beispiel:
1x pro Woche (oder Monat) komplett
1x täglich textbasierte Dateien
Die täglichen Backups sind damit komprimiert sehr klein und fressen kaum Speicherplatz.
 

NASSucher

Benutzer
Mitglied seit
05. Jul 2015
Beiträge
131
Punkte für Reaktionen
14
Punkte
24
Hallo Peter,

vielen Dank nochmal.
Ich habe am Wochenende 2 verschiedene erfolgreich durchlaufen lassen.
Trotz der "großen" Datenmenge hat es einwandfrei funktioniert.
 
  • Like
Reaktionen: peterhoffmann

NASSucher

Benutzer
Mitglied seit
05. Jul 2015
Beiträge
131
Punkte für Reaktionen
14
Punkte
24
Hallo zusammen,

leider war es nur von kurzer Zeit.
Ich habe 2 verschiedene Sicherungen angelegt.
Jeweils an unterschiedlichen Tagen das sie nicht parallel laufen.
Es wurden von beiden jeweils 4 Sicherungen um den 12.08.2023, 15.08.2023, 22.08.2023 und 29.08.2023 gemacht welche auch vollständig sind.
Alles danach nur noch null Daten.

Es wird im danach im output.log diese Fehlermeldung ausgegeben:

Error in server response, closing control connection.
Error in server response, closing control connection.
Error in server response, closing control connection.
Error in server response, closing control connection.
Error in server response, closing control connection.
Error in server response, closing control connection.
Error in server response, closing control connection.
Error in server response, closing control connection.
Error in server response, closing control connection.
Error in server response, closing control connection.
Error in server response, closing control connection.
Error in server response, closing control connection.
Error in server response, closing control connection.
Error in server response, closing control connection.
Error in server response, closing control connection.
Error in server response, closing control connection.
Error in server response, closing control connection.
Error in server response, closing control connection.
Error in server response, closing control connection.
Error in server response, closing control connection.
tar: Removing leading `/' from member names


Beim Webspace Anbieter nachgefragt ob ich auf einer Bannliste stehen könnte ist nachgesehen und verneint worden.

Jetzt habe ich die Tage mal Test gemacht.
Code:

mkdir /volume3/4TB-Homepage/FTP/Test/Task12/TEMP
cd /volume3/4TB-Homepage/FTP/Test/Task12/TEMP
wget -nv -r -N --ftp-user=XXXXXXXX --ftp-password=XXXXXXXX --no-check-certificate ftp://XXXXXXXX.de
rm -f -R /volume3/4TB-Homepage/FTP/Test/Task12/TEMP

Er arbeitet die ersten beiden Zeilen ab.
Den wget Befehl allerdings nicht mehr.
Den Befehl --no-check-certificate habe ich nachträglich auch noch probiert.. Keine Auswirkung.
Fehlermeldung gleiche siehe oben.

Ein Update hatte meine RS1221+ in diesem Zeitraum nicht.
Kann sich sonst etwas verstellt haben?
Kann ich prüfen ob wget allgemein noch funktioniert?
 


 

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