![]() |
Backup via Cronjob
Um Serverabstürze und Datenverlust zu vermeiden sind regelmäßige Backups Pflicht!!
Nur die meisten sind zu faul diese regelmäßig zu erstellen und wundern sich warum nach einen datenverlust nur 2 Monate alte Daten zu verfügung stehen *g* Da ich selber auch faul bin hab ich nen script gebastelt dass via Cronjob ausgeführt wird und einmal täglich SQL und Datenbestand sichert und dieses auf ein FTP Server auslagert: Zur Einrichtung: Ich habe in den Script 2 Temp Verzeichnisse voreingestellt: /home/sql (für die Datenbank) /home/backup (für die Zip) Diese kann man natürlich ändern.. Jedoch sollten diese Verzeichnisse vor den ersten scriptstart vorhanden sein.. Das Script benötigt Zip und lftp Ich gehe jetzt davon dass die Verzeichnisse nicht geändert werden: ich hab es im root Ordner geschmissen /root Name: backup.sh PHP-Code:
Diese beiden Prozesse werden während der Scriptlaufzeit angehalten und danach wieder gestartet. (um Konflikte zu vermeiden) Das Script kann in den Zustand 2 getrennte Datenbanken sichern (zb Tracker und Forum etc) Das ist natürlich beliebig erweiterbar. Bitte überall die Zugangsdaten eintragen!! Nun zur einrichtung: Code:
aptitude install zip lftp (Hab ich im Web gefunden) Starten Sie den Befehl crontab -e zum Erstellen oder Editieren Ihrer Cron-Datei, crontab -l zum auflisten der Cron-Jobs oder crontab -r zum löschen der Cron-Jobs. Eine Zeile in einer Cron-Datei sieht so aus: 1 2 3 4 5 /etc/meinSkript argumente die fünf Zahlen am Anfang der Zeile repräsentieren folgendes: 1: Minuten (0-59) 2: Stunden (0-23) 3: Tag (1-31) 4: Monat (1-12 oder January, February, March, ...) 5: Wochentag(0-7 oder Monday, Tuesday, Wednesday, ... 0 und 7=Sunday) Damit können Sie festlegen, zu welchen Zeiten das angegebene Skript gestartet werden soll. Damit jedoch nicht genug, Sie können die Zeiten noch etwas strukturierter angeben und zwar folgendermassen: *: trifft immer zu 1-4: Bereich, trifft zu wenn 1, 2, 3 oder 4 zutrifft 1-4/2: Schrittweise, also 1 und 3 1,5,6: Aufzählung */3: jedes dritte 1-4,10-15: Aufzählung und Bereiche kombiniert Ausserdem können Sie in der Datei festlegen, mit welcher SHELL die Skripte ausgeführt werden sollen, und wem eine E-Mail mit dem Ergebnis zugesandt werden soll: SHELL=/bin/bash MAILTO=mir@localhost So, nun noch ein paar Beispiele: # jeden Tag um 0:05 5 0 * * * $HOME/bin/daily.job >> $HOME/tmp/out 2>&1 # am ersten jeden Monats um 14:15 15 14 1 * * $HOME/bin/monthly # um 22:00 wochentags 0 22 * * 1-5 mail -s "It's 10pm" joe%Joe,%%Where are your kids?% # jeden Tag 23 Minuten nach jeder geraden Stunde (0:23, 2:23, ...) 23 0-23/2 * * * $HOME/status.sh # Sonntags um 4:05 5 4 * * sun $HOME/backup.sh full Hinweis: Wochentage und Kalendertage schliessen sich nicht aus, sondern werden getrennt betrachtet. Trifft also eines der beiden zu, wird das Skript ausgeführt. Ich hab bei uns folgendes eingetragen: Code:
0 4 * * * /root/backup.sh >> /root/backup.log Am besten jetzt einmal das Script testen ob läuft und ob man sich net verhauen hat bei den Zugängen xD Sonst steht man dumm da xD Code:
Das Ergebnis sollte so aussehen Code:
[25.10.2009 03:11:39] Initialisierung So viel spaß damit.. Der nächste Datenbankcrash kann kommen xD |
danke is ne schoene sache
|
Ich hab mir auch ein Skript geschrieben, welches die DB sichert und gepackt mit passwort abspeichert.
Was mich jedoch hier bei deinem Skript stört ist, dass ich drei Zugangsdaten eintragen muss, d.h. wenn jemand an den Server kommt so hat er auch gleich drei Zugangsdaten (unteranderem auch die des FTP). |
moinsen, dann zeig doch mal deines.
:cool: |
wie soll das sonst gehen... die meisten webanwendungen und php scripte speichern passwörter im klartext.
deswegen hab ich auch 2 login Felder gemacht (damit man nicht die root Daten der Datenbank nehmen muss) und was ich dir jetzt sage wird dich bestimmt schocken: Selbst bei der anmeldung am FTP Server werden Username und Passwort im Klartext übertragen :D weil das Protokoll das nicht unterstützt ;) |
Zitat:
mfg schienbein |
SFTP lautet da das geheimniss :)
|
Zitat:
Code:
sftp 115/tcp Simple File Transfer Protocol Code:
ftps-data 989/tcp ftp protocol, data, over TLS/SSL Code:
ftp-data 20/tcp File Transfer [Default Data] mfg schienbein |
dann google mal nach secure ftp und informier dich über das protokol und guck wie es abgekürzt wird bevor du hier noch mehr schwachsinn schreibst
|
Zitat:
Zitat:
Zitat:
mfg schienbein |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:24 Uhr. |
Powered by vBulletin® Version 3.8.9 (Deutsch)
Copyright ©2000 - 2025, vBulletin Solutions, Inc.