Goifalracer
Anmeldungsdatum: 10. Mai 2011
Beiträge: 125
|
Hallo Leute, Ich möchte gerne von meinen Ubuntu Server der Zwei festplatten verbaut hat ein automatisches Backup auf die zweite Festplatte ausführen lassen und zwar täglich und auch dann wenn der Server mal zu dem Zeitpunkt ausgeschaltet ist soll er das Backup beim einschalten gleich ausführen,wenn der Zeitpunkt bereits vorbei war!! Hab ein Skript nach dieser Anleitung angelegt Skripte/inkrementelles Backup das macht aber gar nix!!!!
Auf der ersten HDD ist das System mit den Daten im Verzeichnis /home/Daten und auf der zweiten HDD das Verzeichnis /home/LinuxLaufwerk/NurAlex in dieses soll das Backup reingeschrieben werden und im Fall zurückgespielt werden!!
Bei (Backupdir) hab ich /home/LinuxLaufwerk/NurAlex angehängt und bei (Source) /home/Daten angehängt und dann noch den Rest nach der Anleitung gemacht!!
Hab den Server dann mal ein paar Tage laufen lassen doch er kopiert keine Daten ins Backup Verzeichnis !!!
Woran könnte das liegen ???
Wäre um Hilfe sehr dankbar MFG
|
Lasall
Ehemalige
Anmeldungsdatum: 30. März 2010
Beiträge: 7723
|
Hi, kannst du bitte dein Skript hier (mit wegen Datensicherheit angepassten Verzeichnisnamen) posten. Kannst du auch bitte folgende (angepasste) Ausgabe posten:
ls -la /etc/cron.daily/<Name des Backupscriptes>
Funktioniert das Skript, wenn du es manuell ausfuehrst? Z.B. so:
sudo /etc/cron.daily/./<Name des Backupscriptes> Gruss
Lasall
|
Goifalracer
(Themenstarter)
Anmeldungsdatum: 10. Mai 2011
Beiträge: 125
|
Hey danke für die Antwort!!
Das Script #!/bin/bash
# Script fuer inkrementelles Backup mit 30 taegigem Vollbackup
### Einstellungen ##
BACKUPDIR="/home/TestLaufwerk/TestDatei/Backup" # Pfad zum Backupverzeichnis
ROTATEDIR="/home/TestLaufwerk/TestDatei/Kon" # Pfad wo die Backups nach 30 Tagen konserviert werden
TIMESTAMP="timestamp.dat" # Zeitstempel
SOURCE="/home/Testdaten" # Verzeichnis(se) welche(s) gesichert werden soll(en)
DATUM="$(date +%d-%m-%Y)" # Datumsformat einstellen
ZEIT="$(date +%H:%M)" # Zeitformat einstellen
### Verzeichnisse/Dateien welche nicht gesichert werden sollen ! Achtung keinen Zeilenumbruch ! ##
EXCLUDE="--exclude=home/user/Filme --exclude=home/user/Musik --exclude=home/user/Spiele --exclude=home/user/.VirtualBox --exclude=home/user/.local/share/Trash"
### Wechsel in root damit die Pfade stimmen ##
cd /
### Backupverzeichnis anlegen ##
mkdir -p ${BACKUPDIR}
### Test ob Backupverzeichnis existiert und Mail an Admin bei fehlschlagen ##
if [ ! -d "${BACKUPDIR}" ]; then
mail -s "Backupverzeichnis nicht vorhanden!" root <<EOM
Hallo Admin,
das Backup am ${DATUM} konnte nicht erstellt werden. Das Verzeichnis ${BACKUPDIR} wurde nicht gefunden und konnte auch nicht angelegt werden.
Mit freundlichem Gruss Backupscript
EOM
. exit 1
fi
### Alle Variablen einlesen und letzte Backupdateinummer herausfinden ##
set -- ${BACKUPDIR}/backup-???.tgz
lastname=${!#}
backupnr=${lastname##*backup-}
backupnr=${backupnr%%.*}
backupnr=${backupnr//\?/0}
backupnr=$[10#${backupnr}]
### Backupdateinummer automatisch um +1 bis maximal 30 erhoehen ##
if [ "$[backupnr++]" -ge 30 ]; then
mkdir -p ${ROTATEDIR}/${DATUM}-${ZEIT}
### Test ob Rotateverzeichnis existiert und Mail an Admin bei fehlschlagen ##
if [ ! -d "${ROTATEDIR}/${DATUM}-${ZEIT}" ]; then
mail -s "Rotateverzeichnis nicht vorhanden!" root <<EOM
Hallo Admin,
die alten Backups konnten am ${DATUM} nicht verschoben werden. Das Verzeichnis ${ROTATEDIR} wurde nicht gefunden und konnte auch nicht angelegt werden.
Mit freundlichem Gruss Backupscript
und hier die Ausgabe total 8
drwxrwxrwx 2 root root 4096 2011-07-30 19:33 .
drwxr-xr-x 3 root root 4096 2011-07-30 19:39 ..
das kommt wenn ich {{{
ls -la /etc/cron.daily/Backup eingebe
}}} und das manuelle ausführen klappt garnicht da kommt nur die Fehlermeldung das Linux das Kommando nicht kennt, wenn ich an sudo /etc/cron.daily/./ Backup anhäge oder den kompletten speicherpfad kommt die selbe Fehlermeldung!!!
Was könnte das sein ??? MFG
|
Lasall
Ehemalige
Anmeldungsdatum: 30. März 2010
Beiträge: 7723
|
Hi, kannst du bitte
die Vorschaufunktion im Forum nutzen, sonst ist das extrem anstrengend zu lesen, wenn die Codebloecke falsch liegen ☹ die exakte Fehlermeldung (inkl. Startbefehl) beim manuellen Ausfuehren des Skriptes posten das komplette Script (am Besten mit dem Bash-Codehighlighting) posten (und deinen Benutzernamen in Pfadangaben mit "NAME" ersetzen) nochmal die Ausgabe von folgendem Befehl posten:
ls -la /etc/cron.daily/ Gruss
Lasall
|
Goifalracer
(Themenstarter)
Anmeldungsdatum: 10. Mai 2011
Beiträge: 125
|
Also der Startbefehl beim manuellen ausführen lautet sudo /etc/cron.daily/./Backup
die darauffolgenede Fehlermeldung lautet sudo: /etc/cron.daily/./Backup: command not found
Hier das Script 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52 | #!/bin/bash
# Script fuer inkrementelles Backup mit 30 taegigem Vollbackup
### Einstellungen ##
BACKUPDIR="/home/TestLaufwerk/TestDatei/Backup" # Pfad zum Backupverzeichnis
ROTATEDIR="/home/TestLaufwerk/TestDatei/Kons" # Pfad wo die Backups nach 30 Tagen konserviert werden
TIMESTAMP="timestamp.dat" # Zeitstempel
SOURCE="/home/Testdaten" # Verzeichnis(se) welche(s) gesichert werden soll(en)
DATUM="$(date +%d-%m-%Y)" # Datumsformat einstellen
ZEIT="$(date +%H:%M)" # Zeitformat einstellen
### Verzeichnisse/Dateien welche nicht gesichert werden sollen ! Achtung keinen Zeilenumbruch ! ##
EXCLUDE="--exclude=home/user/Filme --exclude=home/user/Musik --exclude=home/user/Spiele --exclude=home/user/.VirtualBox --exclude=home/user/.local/share/Trash"
### Wechsel in root damit die Pfade stimmen ##
cd /
### Backupverzeichnis anlegen ##
mkdir -p ${BACKUPDIR}
### Test ob Backupverzeichnis existiert und Mail an Admin bei fehlschlagen ##
if [ ! -d "${BACKUPDIR}" ]; then
mail -s "Backupverzeichnis nicht vorhanden!" root <<EOM
Hallo Admin,
das Backup am ${DATUM} konnte nicht erstellt werden. Das Verzeichnis ${BACKUPDIR} wurde nicht gefunden und konnte auch nicht angelegt werden.
Mit freundlichem Gruss Backupscript
EOM
. exit 1
fi
### Alle Variablen einlesen und letzte Backupdateinummer herausfinden ##
set -- ${BACKUPDIR}/backup-???.tgz
lastname=${!#}
backupnr=${lastname##*backup-}
backupnr=${backupnr%%.*}
backupnr=${backupnr//\?/0}
backupnr=$[10#${backupnr}]
### Backupdateinummer automatisch um +1 bis maximal 30 erhoehen ##
if [ "$[backupnr++]" -ge 30 ]; then
mkdir -p ${ROTATEDIR}/${DATUM}-${ZEIT}
### Test ob Rotateverzeichnis existiert und Mail an Admin bei fehlschlagen ##
if [ ! -d "${ROTATEDIR}/${DATUM}-${ZEIT}" ]; then
mail -s "Rotateverzeichnis nicht vorhanden!" root <<EOM
Hallo Admin,
die alten Backups konnten am ${DATUM} nicht verschoben werden. Das Verzeichnis ${ROTATEDIR} wurde nicht gefunden und konnte auch nicht angelegt werden.
Mit freundlichem Gruss Backupscript
EOM
|
Ausgabe von Befehl ls -la /etc/cron.daily/
{{{ lautet{{{
total 80
drwxr-xr-x 3 root root 4096 2011-07-30 19:39 .
drwxr-xr-x 99 root root 4096 2011-07-30 22:26 ..
-rwxr-xr-x 1 root root 189 2010-04-19 10:56 apport
-rwxr-xr-x 1 root root 15914 2011-05-30 07:40 apt
-rwxr-xr-x 1 root root 314 2010-04-09 14:16 aptitude
-rwxr-xr-x 1 root root 3306 2011-07-27 19:27 backup
drwxrwxrwx 2 root root 4096 2011-07-30 19:33 Backup
-rwxr-xr-x 1 root root 502 2009-11-10 17:12 bsdmainutils
-rwxr-xr-x 1 root root 256 2011-01-06 20:43 dpkg
-rwxr-xr-x 1 root root 89 2010-03-07 04:00 logrotate
-rwxr-xr-x 1 root root 1327 2010-10-05 15:29 man-db
-rwxr-xr-x 1 root root 606 2010-03-24 11:16 mlocate
-rwxr-xr-x 1 root root 1154 2011-04-19 09:08 ntp
-rw-r--r-- 1 root root 102 2010-04-15 01:29 .placeholder
-rwxr-xr-x 1 root root 2149 2009-06-16 15:12 popularity-contest
-rwxr-xr-x 1 root root 383 2011-04-14 19:41 samba
-rwxr-xr-x 1 root root 3349 2010-04-15 01:29 standard
Hoff das hilft dir weiter und die Angaben sind jetzt besser zu verstehen!! Aber beiM Befehl (ausführen des Scripts) ist das meiner Meinung nach nur ein Syntaxfehler ??? MFG
|
Lasall
Ehemalige
Anmeldungsdatum: 30. März 2010
Beiträge: 7723
|
Hi, bitte den Ausfuehrbefehl kleinschreiben:
sudo /etc/cron.daily/./backup
Ausserdem hast du da einen Ordner unter /etc/cron.daily/Backup erstellt, zeige mal den Inhalt rekursiv:
ls -Rla /etc/cron.daily/Backup Das Skript ist uebrigens nicht vollstaendig... Goifalracer schrieb: Hoff das hilft dir weiter und die Angaben sind jetzt besser zu verstehen!!
Ja, vielen Dank! 👍
Aber beiM Befehl (ausführen des Scripts) ist das meiner Meinung nach nur ein Syntaxfehler ???
Nein. Das "./" laesst das Skript mit der im Skript angegeben Shebang starten. Alternativ koennte man das auch ohne diesen Vorsatz starten (wenn die Datei als "ausfuehrbar" markiert ist) oder aber per "sudo bash " (wenn das wie in deinem Fall ein Bash-Skript ist). Gruss
Lasall
|
Goifalracer
(Themenstarter)
Anmeldungsdatum: 10. Mai 2011
Beiträge: 125
|
So Ausführbefehl kleingeschrieben dann kommt /etc/cron.daily/./backup: 1: cript: not found
/etc/cron.daily/./backup: 4: /home/TestLaufwerk/TestDatei: Permission denied
/etc/cron.daily/./backup: 7: /home/Testdaten: Permission denied
mkdir: missing operand
Try `mkdir --help' for more information.
/etc/cron.daily/./backup: 30: mail: not found
.: 30: exit: not found
so der Inhalt nach dem Befehl ls -Rla /etc/cron.daily/Backup
lautet total 8
drwxrwxrwx 2 root root 4096 2011-07-30 19:33 .
drwxr-xr-x 3 root root 4096 2011-07-30 19:39 .. Ja weil ich nach der Anleitung im Wiki gegangen bin und darauf habe ich anscheinend das unvollständige Skript eingefügt und es dann mit dem Befehl sudo mv backup /etc/cron.daily
laut Anleitung verschoben!!!
Die Anleitung findest du am Anfang des Themas da ist ein Link!
Was fehlt in dem Skript dann noch und was ist generell noch falsch???? MFG
|
Lasall
Ehemalige
Anmeldungsdatum: 30. März 2010
Beiträge: 7723
|
Hi, Goifalracer schrieb: Was fehlt in dem Skript dann noch und was ist generell noch falsch????
ziemlich viel fehlt, z.B. die eigentlich Backupprozedur. Kannst du bitte explizit diese Datei auflisten (danach bitte wieder in das angenehme Bash-Highlighting packen):
cat /etc/cron.daily/backup Gruss
Lasall
|
Goifalracer
(Themenstarter)
Anmeldungsdatum: 10. Mai 2011
Beiträge: 125
|
Hab die Datei abgefragt 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107 | cript fuer inkrementelles Backup mit 30 taegigem Vollbackup
### Einstellungen ##
BACKUPDIR= /home/TestLaufwerk/Testdatei # Pfad zum Backupverzeichni s
ROTATEDIR="media/backup/rotate" # Pfad wo die Backups nach 30 Tagen konservi ert werden
TIMESTAMP="timestamp.dat" # Zeitstempel
SOURCE= /home/Testdaten # Verzeichnis(se) welche(s) gesic hert werden soll(en)
DATUM="$(date +%d-%m-%Y)" # Datumsformat einstellen
ZEIT="$(date +%H:%M)" # Zeitformat einstellen
### Verzeichnisse/Dateien welche nicht gesichert werden sollen ! Achtung keinen Zeilenumbruch ! ##
EXCLUDE="--exclude=home/user/Filme --exclude=home/user/Musik --exclude=home/user /Spiele --exclude=home/user/.VirtualBox --exclude=home/user/.local/share/Trash"
### Wechsel in root damit die Pfade stimmen ##
cd /
### Backupverzeichnis anlegen ##
mkdir -p ${BACKUPDIR}
### Test ob Backupverzeichnis existiert und Mail an Admin bei fehlschlagen ##
if [ ! -d "${BACKUPDIR}" ]; then
mail -s "Backupverzeichnis nicht vorhanden!" root <<EOM
Hallo Admin,
das Backup am ${DATUM} konnte nicht erstellt werden. Das Verzeichnis ${BACKUPDIR } wurde nicht gefunden und konnte auch nicht angelegt werden.
Mit freundlichem Gruss Backupscript
EOM
. exit 1
fi
### Alle Variablen einlesen und letzte Backupdateinummer herausfinden ##
set -- ${BACKUPDIR}/backup-???.tgz
lastname=${!#}
backupnr=${lastname##*backup-}
backupnr=${backupnr%%.*}
backupnr=${backupnr//\?/0}
backupnr=$[10#${backupnr}]
### Backupdateinummer automatisch um +1 bis maximal 30 erhoehen ##
if [ "$[backupnr++]" -ge 30 ]; then
mkdir -p ${ROTATEDIR}/${DATUM}-${ZEIT}
### Test ob Rotateverzeichnis existiert und Mail an Admin bei fehlschlagen ##
if [ ! -d "${ROTATEDIR}/${DATUM}-${ZEIT}" ]; then
mail -s "Rotateverzeichnis nicht vorhanden!" root <<EOM
Hallo Admin,
die alten Backups konnten am ${DATUM} nicht verschoben werden. Das Verzeichnis $ {ROTATEDIR} wurde nicht gefunden und konnte auch nicht angelegt werden.
Mit freundlichem Gruss Backupscript
EOM
. exit 1
else
mv ${BACKUPDIR}/* ${ROTATEDIR}/${DATUM}-${ZEIT}
fi
### Abfragen ob das Backupverschieben erfolgreich war ##
if [ $? -ne 0 ]; then
mail -s "Backupverschieben fehlerhaft!" root <<EOM
Hallo Admin,
die alten Backups konnte am ${DATUM} nicht verschoben werden.
Mit freundlichem Gruss Backupscript
EOM
exit 1
else
mail -s "Backupverschieben erfolgreich" root <<EOM
Hallo Admin,
die alten Backups wurde am ${DATUM} erfolgreich nach ${ROTATEDIR}/${DATUM}-${ZEI T} verschoben.
Mit freundlichem Gruss Backupscript
EOM
### die Backupnummer wieder auf 1 stellen ##
backupnr=1
fi
fi
backupnr=000${backupnr}
backupnr=${backupnr: -3}
filename=backup-${backupnr}.tgz
### Nun wird das eigentliche Backup ausgefuehrt ##
tar -czf ${BACKUPDIR}/${filename} -g ${BACKUPDIR}/${TIMESTAMP} ${SOURCE} ${EXCLU DE}
### Abfragen ob das Backup erfolgreich war ##
if [ $? -ne 0 ]; then
mail -s "Backup (${SOURCE}) war fehlerhaft!" root <<EOM
Hallo Admin,
das Backup ${filename} am ${DATUM} wurde mit Fehler(n) beendet.
Mit freundlichem Gruss Backupscript
EOM
else
mail -s "Backup (${SOURCE}) war erfolgreich" root <<EOM
Hallo Admin,
das Backup ${filename} am ${DATUM} wurde erfolgreich beendet.
Mit freundlichem Gruss Backupscript
EOM
fi
vergr
|
|
Lasall
Ehemalige
Anmeldungsdatum: 30. März 2010
Beiträge: 7723
|
Hi, ich nehme an, du siehst selber, dass das keine exakte Kopie der Skriptvorlage ist. Am Anfang und Ende fehlt etwas. Lege das Skript jetzt noch einmal komplett neu an - und diesmal vollstaendig. Danach fuehrst du es testweise manuell aus und postest hier wieder eventuelle Fehlermeldungen. Gruss
Lasall
|
Goifalracer
(Themenstarter)
Anmeldungsdatum: 10. Mai 2011
Beiträge: 125
|
Hey ich bins wieder ☺ Hab das Script so ergänzt wie es in der Ausgabe des Befehls cat /etc/cron.daily/backup erscheint Dann möchte ich das Script manuell ausführen mit sudo /etc/cron.daily/./backup
Es kommt folgende Fehlermeldung /etc/cron.daily/./backup: 1: cript: not found
/etc/cron.daily/./backup: 4: /home/TestLaufwerk/Testdatei: Permission denied
/etc/cron.daily/./backup: 7: /home/: Permission denied
mkdir: missing operand
Try `mkdir --help' for more information.
/etc/cron.daily/./backup: 30: mail: not found
.: 30: exit: not found
Hab das Skript auch schon unter anderen Benutzern ausgeführt nicht das es mit irgendwelchen Ordnerrechten zu tun hat!!
Weist du noch was ??? MFG
|
Lasall
Ehemalige
Anmeldungsdatum: 30. März 2010
Beiträge: 7723
|
Hi Goifalracer, du schriebst: Weist du noch was ???
ja und zwar sollst du das komplette Skript von du schriebst: Skripte/inkrementelles Backup
kopieren und unter /etc/cron.daily/backup speichern. Oeffne dazu einen Editor mit Rootrechten:
gksudo gedit /etc/cron.daily/backup
Dann fuegst du dort den gesamten Inhalt ein (und passt diesen auf deine Beduerfnisse an), speicherst und schliesst. Jetzt setzt du noch die Ausfuehrrechte:
sudo chmod +x /etc/cron.daily/backup
Jetzt testest du das Skript:
sudo bash /etc/cron.daily/backup # ich wechsel mal die Schreibweise, es geht aber auch anderen
Sollten noch immer Fehler auftreten, dann poste bitte wieder den Inhalt des Skriptes mit cat und ausserdem die komplette Ein- und Ausgabe des Skriptstartes. Gruss
Lasall
|
Goifalracer
(Themenstarter)
Anmeldungsdatum: 10. Mai 2011
Beiträge: 125
|
Hi Lasall Hab das jetzt gemacht,beim ausführen mit sudo bash /etc/cron.daily/backup
kommt mal wieder ne Fehlermeldung /etc/cron.daily/backup: line 1: cript: command not found
/etc/cron.daily/backup: line 4: /home/TestLaufwerk/Testdatei: is a directory
/etc/cron.daily/backup: line 7: /home/Testdaten: is a directory
mkdir: missing operand
Try `mkdir --help' for more information.
/etc/cron.daily/backup: line 23: mail: command not found
/etc/cron.daily/backup: line 29: exit: No such file or directory
tar: Cowardly refusing to create an empty archive
Try `tar --help' or `tar --usage' for more information.
/etc/cron.daily/backup: line 91: mail: command not found
/etc/cron.daily/backup: line 107: vergr: command not found
Warum die Meldung (/home/Testlaufwer/Testdatei ist ein Verzeichnis ?? Das soll doch so sein oder ?? MFG
|
Lasall
Ehemalige
Anmeldungsdatum: 30. März 2010
Beiträge: 7723
|
Hi Goifalracer, ich kann mich nur wiederholen: Du hast das Skript nicht vollstaendig kopiert. Es fehlen die ersten paar Zeilen ☹ (und am Ende wahrscheinlich auch wieder die letzten paar Zeichen). Da ich keinen Zugriff auf deinen Rechner habe, kann ich dir da auch nicht helfen. Nutzt du vielleicht sowas wie Vim und versuchst direkt einzufuegen? Bei gedit ist eigentlich ein Copy&Paste ohne Weiteres moeglich. Gleiche also die ersten Zeilen jeweils ab. Erst ab dann kann ich wieder weiterhelfen. Viel Erfolg! Gruss
Lasall
|
Goifalracer
(Themenstarter)
Anmeldungsdatum: 10. Mai 2011
Beiträge: 125
|
Wenn ich das richtig verstanden habe sollte ich den kompletten Inhalt des Scripts aus der Anleitung Skripte/inkrementelles Backup einfügen;die Datei speichern und die richtigen >Rechte vergeben,das alles hab ich gemacht,wenn ich sudo vi /home/backup
eingebe erscheint der selbe Text im Script wie in der Anleitung!!
Den Text hab ich dann noch angepasst !!!
Ich hab jetzt exakt den selben Text drin wie in der Anleitung!!
Ich weiß nicht entweder steh ich voll am Schlauch,oder es ist ne doofe Kleinigkeit warum das ganze nicht geht !!!
|