|
|
| Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
| Autor |
Nachricht |
neobiker
Moderator  
Anmeldungsdatum: 11.08.2005 Beiträge: 1076 Wohnort: Nürnberg / Umgebung
|
Verfasst am: 02 Feb 2006 22:25 Titel: [HowTo] Backups mit Snapshots |
 |
|
HowTo: Den Server mit Snapshots sichern
Folgender Empfehlung ging ich bei der Suche nach einer RSync-Lösung nach:
| max4ctserver hat folgendes geschrieben: | wer sich für backup-lösungen für den server interessiert, dem sei alternativ noch folgendes empfohlen:
a) partimage
vorteil: kostenlos
nachteil: nicht im laufenden betrieb
b) rsync
vorteil: ssh, remote, komprimiert, diff-basiert
empfehlung: google -> "mike rubel" und "rsync" mit einer genialen rsync-lösung für inkrementelle backups und jeder menge links zu backup-scripts (vgl. http://www.mikerubel.org/computers/rsync_snapshots/)
viel erfolg!
ciao max4ctserver |
Basierend auf den Informationen von Mike Rubels Konzept habe ich ein dort verlinktes 'mirror'-Skript so modifiziert, dass es Backup's von lokalen Verzeichnissen erstellt, und diese auch noch monatlich/jährlich archiviert.
Achtung: Es wird eine 'Snapshot'-Technologie verwendet!
Diese ermöglicht es, viele Snapshots zu erzeugen, ohne unnötigen Speicherplatz zu verbrauchen. Nur tatsächlich geänderte Files belegen neuen Speicherplatz in dem Backup-Verzeichnis. D.h. man kann durchaus 30 Backups haben, welche in Summe nur 115% Platz eines einzelnen Backups belegen (weil sich nur 15% des ganzen tatsächlich geändert haben).
Ich lasse das Skript deshalb teilweise 3-mal täglich laufen, dann kann ich Fehler die ich um 20:00 Uhr mache auf den Stand von 18:00 zurücksetzen...geht schnell, kostet nix und bringt viel wenn man's einmal wirklich braucht!)
Konzept:
Eine eigene Platte (!) für die Sicherungen (hier /dev/sdc1)
-> Eintrag unter /etc/fstab | Code: | /dev/sdc1 /backup ext3 defaults 0 0
localhost:/backup /snapshot nfs ro,user,auto 0 0 |
Der 2.te Eintrag dient dazu, /backup nur readonly als /snapshot auf dem server (per NFS) zu mounten.
Hier muss ein NFS-Server ebenfalls laufen, Konfig-Datei /etc/exports | Code: | | /backup 127.0.0.1(sync,secure,ro,no_root_squash) |
Das können wir dann auch per Samba-Share wieder auf allen PC's mounten - so kann sich jeder User selber per Drag-&-Drop sein persönliches Backup vom Server holen...jederzeit...ohne Admin!
Unter /backup (/snapshot) findet man dann hierarchisch alle Snapshots wieder: | Code: | server:/snapshot/server-data#
-rw-r--r-- 1 root root 0 2006-02-02 20:40 lastrun.time
drwxr-xr-x 3 root root 4096 2006-02-02 04:04 daily/
drwxr-xr-x 5 root root 4096 2006-02-01 22:36 snapshot-2006-02-01-04/
drwxr-xr-x 5 root root 4096 2006-02-02 20:40 hourly/
drwxr-xr-x 5 root root 4096 2006-02-02 00:25 snapshot-2006-02-02-00/
drwxr-xr-x 5 root root 4096 2006-02-02 04:04 snapshot-2006-02-02-04/
drwxr-xr-x 3 root root 4096 2006-02-02 20:04 monthly/
drwxr-xr-x 5 root root 4096 2006-02-02 16:04 snapshot-2006-02-02-16/
drwxr-xr-x 2 root root 4096 2006-01-27 00:00 weekly/
drwxr-xr-x 3 root root 4096 2006-02-02 20:06 yearly/
|
Wichtig: Die Archive unter monthly / yearly sollte man natürlich trotzdem auf CD / DVD sichern... !
Man startet das Skript am besten über crontab: | Code: | crontab -e
2 0,4,16,22 * * * /usr/local/sbin/snapshot >/dev/null |
Das Skript mountet /backup nur zum Schreiben im Schreibmodus (rw), ansonsten ist es ebenfalls readonly (ro) gemountet.
Jetzt das Skript, ich hoffe es ist so verständlich und muss nicht weiter erklärt werden... (mal sehen...)
| Code: | #!/bin/sh
# mirror
# make a snapshot from directories
# an create hourly/daily/monthly/yearly archieves
# ---------
# neobiker (2006)
# originally based on mirror Version 3.11 By Stu Sheldon stu@actusa.net
# ...
# ...
# The directories are named 'snapshot-<year>-<month>-<day>-<hour>'
#
# Each time snapshot runs, it date stamps a file in the <snapshot> directory called
# 'lastrun.time'. This file's date when listing it using ls -laF shows the last
# date and time snapshot ran on that host.
#
# The last thing you need to do is add snapshot in your crontab with the proper
# times and switches.
#
# If you are going for hourly sync's, add the following to your crontab:
# 0 * * * * /usr/local/sbin/snapshot
#
# Every four hours would be:
# 0 0,4,8,12,16,20 * * * /usr/local/sbin/snapshot
#
# you get the idea
# ...
#########################################################################
# Start User Config Stuff
snapshot="server-data"
# This is the local root of the backup directories. (where to backup to)
backuproot=/backup
# You need to set the newdayhour to 00-23 depending on what hour you run
# the script in cron.
newdayhour=00
# number of snapshots to save
savehours=4
savedays=7
saveweeks=4
savemonths=12
saveyears=10
# list directories to backup
allsrcdir="
/home/
/srv/home/
/srv/daten/
/srv/daten/neobiker/
/var/lib/cyrus/
/var/ftp/
/var/log/
/var/spool/
/var/www/
"
# list directories to skip during in backup
# or leave blank
# EXCLUDES=""
EXCLUDES="--filter=. /tmp/excludes-${snapshot}"
cat > /tmp/excludes-${snapshot} << EOF
- /backup/
- /snapshot/
- /srv/daten/
- /var/spool/squid/
+ *
EOF
# Mount and Dismount commands for all reasons are in the following functions
# you can also mount windows-shares via smbclient e.g.
# here: mount for writing during backup, and mount readonly afterwards
mounting ()
{
precom=0
mount -o remount,rw ${backuproot} || mountfail
}
umounting ()
{
postcom=0
mount -o remount,ro ${backuproot} || umountfail
}
# Typical Unix saving localhost
rsync="rsync -a -R -q --delete"
# Typical Unix using ssh and public keys
# rsync="rsync -aR -q --numeric-ids -e ssh --delete"
# This has settings for windows and expects to use a mounted share.
# rsync="rsync -a -R -q --delete --modify-window=10"
# End User Config Stuff
############################################################################
# Start Static Code
cmdline=$1
PATH=/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin
cmonth=`date +'%m'`
doweek=`date +'%w'`
cday=`date +'%d'`
chour=`date +'%H'`
yeardir=${backuproot}/${snapshot}/yearly
monthdir=${backuproot}/${snapshot}/monthly
weekdir=${backuproot}/${snapshot}/weekly
daydir=${backuproot}/${snapshot}/daily
hourdir=${backuproot}/${snapshot}/hourly
snapshotdir=`date +'snapshot-%Y-%m-%d-%H'`
lockfile=${backuproot}/${snapshot}/syncing-now
lsync=`/bin/ls -1r ${hourdir} | head -1`
lday=`date +'snapshot-%Y-%m-%d-%H' -d '1 day ago'`
lweek=`date +'snapshot-%Y-%m-%d-%H' -d '1 week ago'`
makedirs ()
{
[ -d ${yeardir} ] || mkdir -p ${yeardir}
[ -d ${monthdir} ] || mkdir -p ${monthdir}
[ -d ${weekdir} ] || mkdir -p ${weekdir}
[ -d ${daydir} ] || mkdir -p ${daydir}
[ -d ${hourdir} ] || mkdir -p ${hourdir}
}
dosync ()
{
[ -d ${hourdir}/${snapshotdir} ] || mkdir -p ${hourdir}/${snapshotdir}
[ -n "${lsync}" ] && rsync="${rsync} --link-dest=${hourdir}/${lsync}"
for srcdir in ${allsrcdir}; do
${rsync} "${EXCLUDES}" ${srcdir} ${hourdir}/${snapshotdir}
done
}
doyearly ()
{
[ ${saveyears} -eq 0 ] && return
if [ -d ${monthdir}/${snapshotdir} ]; then
cp -alf ${monthdir}/${snapshotdir} ${yeardir}
else
echo >&2 "I can't find snapshot ${monthdir}/${snapshotdir}..."
fi
}
domonthly ()
{
[ ${savemonths} -eq 0 ] && return
if [ -d ${hourdir}/${snapshotdir} ]; then
mv ${hourdir}/${snapshotdir} ${monthdir}
ln -s ${monthdir}/${snapshotdir} ${hourdir}/${snapshotdir}
else
echo >&2 "I can't find snapshot ${hourdir}/${snapshotdir}..."
fi
}
doweekly ()
{
[ ${saveweeks} -eq 0 ] && return
if [ -d ${daydir}/${lweek} ]; then
mv ${daydir}/${lweek} ${weekdir}
else
echo >&2 "I can't find snapshot ${daydir}/${lweek}..."
fi
}
dodaily ()
{
[ ${savedays} -eq 0 ] && return
if [ -d ${hourdir}/${lday} ]; then
mv ${hourdir}/${lday} ${daydir}
else
echo >&2 "I can't find snapshot ${hourdir}/${lday}..."
fi
}
docleanup ()
{
[ ${savehours} -lt 1 ] && savehours=1
count=0
for i in `/bin/ls -r ${hourdir}`; do
let count=count+1
if [ ${count} -gt ${savehours} ]; then
rm -Rf ${hourdir}/${i}
fi
done
[ ${saveweeks} -gt 0 -a ${savedays} -lt 7 ] && savedays=7
count=0
for i in `/bin/ls -r ${daydir}`; do
let count=count+1
if [ ${count} -gt ${savedays} ]; then
rm -Rf ${daydir}/${i}
fi
done
count=0
for i in `/bin/ls -r ${weekdir}`; do
let count=count+1
if [ ${count} -gt ${saveweeks} ]; then
rm -Rf ${weekdir}/${i}
fi
done
count=0
for i in `/bin/ls -r ${monthdir}`; do
let count=count+1
if [ ${count} -gt ${savemonths} ]; then
rm -Rf ${monthdir}/${i}
fi
done
count=0
for i in `/bin/ls -r ${yeardir}`; do
let count=count+1
if [ ${count} -gt ${saveyears} ]; then
rm -Rf ${yeardir}/${i}
fi
done
}
inuse ()
{
echo >&2 "I am already syncing snapshot ${snapshot}"
exit 1
}
mountfail ()
{
echo >&2 "I can't mount filesystem ${backuproot}"
exit 1
}
umountfail ()
{
echo >&2 "I can't unmount filesystem ${backuproot}"
exit 1
}
####
#### Programm starts here ... ###########################
####
[ -f ${lockfile} ] && inuse
mounting
makedirs
touch ${lockfile}
case ${cmdline} in
-y)
doyearly
docleanup
;;
-m)
domonthly
docleanup
;;
*)
dosync
if [ ${newdayhour} -eq ${chour} ]; then
dodaily
if [ ${doweek} -eq 0 ]; then
doweekly
fi
if [ ${cday} -eq 1 ]; then
domonthly
if [ ${cmonth} -eq 1 ]; then
doyearly
fi
fi
fi
docleanup
;;
esac
touch ${backuproot}/${snapshot}/lastrun.time
rm -f ${lockfile}
rm -f /tmp/excludes-${snapshot}
umounting
echo "Backup for ${snapshot} is complete..."
|
Hoffe, es sind keine Fehler mehr drin....
Edit: Habe im script 2-3 mini-Bugs behoben (betraf die Monats-/Jahresarchive)
So, ich hoffe bei Euch läuft's dann auch so gut wie bei mir (ich hab's bloss viel zu spät aufgesetzt...)
Good Luck - and alwas have the backup you need ...  _________________ Gruss neobiker
Der Computer macht genau das, was Du ihm sagst - nicht das, was Du von ihm willst!
| <- Wiki; Celsius M450 C2Duo/2.13GHz, 6GB, 3xSATA, RAID1 + Snapshot Backups, Samba, Fritzcard ISDN + mtG-Capri = LAN-Fax (PDF-Email), Anrufbeantworter (Wav-Email), Scalix / Webmail + Outlook, VDR 7, DSL-WLAN-Router (NAT / Firewall !) vor XEN-Endian Firewall (RED, ORANGE, GREEN), WLAN inkl. VPN (IPSEC, SSL), DMZ (Webmail Reverse Proxy) |
Zuletzt bearbeitet von neobiker am 02 März 2006 17:37, insgesamt 8-mal bearbeitet |
|
| Nach oben |
|
 |
tsp1311
Starter 
Anmeldungsdatum: 20.11.2005 Beiträge: 9
|
|
| Nach oben |
|
 |
roman
Power User 
Anmeldungsdatum: 12.09.2005 Beiträge: 131
|
Verfasst am: 06 März 2006 18:15 Titel: |
 |
|
Hi zusammen,
bei mir funzt das nicht wenn ich ausführe kommt bei mir.
| Code: | debain:/home/roman# sh neu.sh
/bin/ls: /backup/server/hourly: Datei oder Verzeichnis nicht gefunden
mount: mount point /backup does not exist
I can't mount filesystem /backup
|
Mein Skript sieht so aus.
| Code: |
#!/bin/sh
# snapshot
# make a snapshot from directories
# an create hourly/daily/monthly/yearly archieves
# ---------
# neobiker (2006)
# originally based on mirror Version 3.11 By Stu Sheldon stu@actusa.net
# ...
# ...
# The directories are named 'snapshot-<year>-<month>-<day>-<hour>'
#
# Each time snapshot runs, it date stamps a file in the <snapshot> directory called
# 'lastrun.time'. This file's date when listing it using ls -laF shows the last
# date and time snapshot ran on that host.
#
# The last thing you need to do is add snapshot in your crontab with the proper
# times and switches.
#
# If you are going for hourly sync's, add the following to your crontab:
# 0 * * * * /usr/local/sbin/snapshot
#
# Every four hours would be:
# 0 0,4,8,12,16,20 * * * /usr/local/sbin/snapshot
#
# you get the idea
# ...
#########################################################################
# Start User Config Stuff
# This is the local root of the backup directories. (where to backup to)
backuproot=/backup
# directory, e.g. /backup/server
snapshot="server"
# You need to set the newdayhour to 00-23 depending on what hour you run
# the script in cron.
# make sure, that cronjob is started within newdayhour, e.g. 00:15
newdayhour=00
# number of snapshots to save
savehours=2
savedays=7
saveweeks=4
savemonths=12
saveyears=10
# list directories to backup
allsrcdir="
/
"
# list directories to skip during in backup
# or leave blank
# EXCLUDES=""
EXCLUDES="--filter=. /tmp/excludes-${snapshot}"
cat > /tmp/excludes-${snapshot} << EOF
- /backup/
- /snapshot/
- /srv/lost+found/
- /var/
+ *
EOF
# Mount and Dismount commands for all reasons are in the following functions
# you can also mount windows-shares via smbclient e.g.
# here: mount for writing during backup, and mount readonly afterwards
mounting ()
{
precom=0
mount -o remount,rw ${backuproot} || mountfail
}
umounting ()
{
postcom=0
mount -o remount,ro ${backuproot} || umountfail
}
# Typical Unix saving localhost
rsync="rsync -a -R -q --delete"
# Typical Unix using ssh and public keys
# rsync="rsync -aR -q --numeric-ids -e ssh --delete"
# This has settings for windows and expects to use a mounted share.
# rsync="rsync -a -R -q --delete --modify-window=10"
# End User Config Stuff
############################################################################
# Start Static Code
cmdline=$1
PATH=/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin
cmonth=`date +'%m'`
doweek=`date +'%w'`
cday=`date +'%d'`
chour=`date +'%H'`
yeardir=${backuproot}/${snapshot}/yearly
monthdir=${backuproot}/${snapshot}/monthly
weekdir=${backuproot}/${snapshot}/weekly
daydir=${backuproot}/${snapshot}/daily
hourdir=${backuproot}/${snapshot}/hourly
snapshotdir=`date +'snapshot-%Y-%m-%d-%H'`
lockfile=${backuproot}/${snapshot}/syncing-now
lsync=`/bin/ls -1r ${hourdir} | head -1`
lday=`date +'snapshot-%Y-%m-%d-%H' -d '1 day ago'`
lweek=`date +'snapshot-%Y-%m-%d-%H' -d '1 week ago'`
makedirs ()
{
[ -d ${yeardir} ] || mkdir -p ${yeardir}
[ -d ${monthdir} ] || mkdir -p ${monthdir}
[ -d ${weekdir} ] || mkdir -p ${weekdir}
[ -d ${daydir} ] || mkdir -p ${daydir}
[ -d ${hourdir} ] || mkdir -p ${hourdir}
}
dosync ()
{
[ -d ${hourdir}/${snapshotdir} ] || mkdir -p ${hourdir}/${snapshotdir}
[ -n "${lsync}" ] && rsync="${rsync} --link-dest=${hourdir}/${lsync}"
for srcdir in ${allsrcdir}; do
${rsync} "${EXCLUDES}" ${srcdir} ${hourdir}/${snapshotdir}
done
}
doyearly ()
{
[ ${saveyears} -eq 0 ] && return
if [ -d ${monthdir}/${snapshotdir} ]; then
cp -alf ${monthdir}/${snapshotdir} ${yeardir}
else
echo >&2 "I can't find snapshot ${monthdir}/${snapshotdir}..."
fi
}
domonthly ()
{
[ ${savemonths} -eq 0 ] && return
if [ -d ${hourdir}/${snapshotdir} ]; then
mv ${hourdir}/${snapshotdir} ${monthdir}
ln -s ${monthdir}/${snapshotdir} ${hourdir}/${snapshotdir}
else
echo >&2 "I can't find snapshot ${hourdir}/${snapshotdir}..."
fi
}
doweekly ()
{
[ ${saveweeks} -eq 0 ] && return
if [ -d ${daydir}/${lweek} ]; then
mv ${daydir}/${lweek} ${weekdir}
else
echo >&2 "I can't find snapshot ${daydir}/${lweek}..."
fi
}
dodaily ()
{
[ ${savedays} -eq 0 ] && return
if [ -d ${hourdir}/${lday} ]; then
mv ${hourdir}/${lday} ${daydir}
else
echo >&2 "I can't find snapshot ${hourdir}/${lday}..."
fi
}
docleanup ()
{
[ ${savehours} -lt 1 ] && savehours=1
count=0
for i in `/bin/ls -r ${hourdir}`; do
let count=count+1
if [ ${count} -gt ${savehours} ]; then
rm -Rf ${hourdir}/${i}
fi
done
[ ${saveweeks} -gt 0 -a ${savedays} -lt 7 ] && savedays=7
count=0
for i in `/bin/ls -r ${daydir}`; do
let count=count+1
if [ ${count} -gt ${savedays} ]; then
rm -Rf ${daydir}/${i}
fi
done
count=0
for i in `/bin/ls -r ${weekdir}`; do
let count=count+1
if [ ${count} -gt ${saveweeks} ]; then
rm -Rf ${weekdir}/${i}
fi
done
count=0
for i in `/bin/ls -r ${monthdir}`; do
let count=count+1
if [ ${count} -gt ${savemonths} ]; then
rm -Rf ${monthdir}/${i}
fi
done
count=0
for i in `/bin/ls -r ${yeardir}`; do
let count=count+1
if [ ${count} -gt ${saveyears} ]; then
rm -Rf ${yeardir}/${i}
fi
done
}
inuse ()
{
echo >&2 "I am already syncing snapshot ${snapshot}"
exit 1
}
mountfail ()
{
echo >&2 "I can't mount filesystem ${backuproot}"
exit 1
}
umountfail ()
{
echo >&2 "I can't unmount filesystem ${backuproot}"
exit 1
}
####
#### Programm starts here ... ###########################
####
[ -f ${lockfile} ] && inuse
mounting
makedirs
touch ${lockfile}
case ${cmdline} in
-y)
doyearly
docleanup
;;
-m)
domonthly
docleanup
;;
*)
dosync
if [ ${newdayhour} -eq ${chour} ]; then
dodaily
if [ ${doweek} -eq 0 ]; then
doweekly
fi
if [ ${cday} -eq 01 ]; then
domonthly
if [ ${cmonth} -eq 01 ]; then
doyearly
fi
fi
fi
docleanup
;;
esac
touch ${backuproot}/${snapshot}/lastrun.time
rm -f ${lockfile}
rm -f /tmp/excludes-${snapshot}
umounting
echo "Backup for ${snapshot} is complete..."
|
Danke für die Hilfe  |
|
| Nach oben |
|
 |
neobiker
Moderator  
Anmeldungsdatum: 11.08.2005 Beiträge: 1076 Wohnort: Nürnberg / Umgebung
|
Verfasst am: 06 März 2006 20:46 Titel: |
 |
|
Also, ich weiss jetzt nicht wirklich, ob ich helfen soll...
Sollen wir Dein ganzes Script lesen, und Du liest nicht mal hier diesen thread, ganz zu schweigen von den eigenen Fehlermeldungen (die sagen eigentlich schon alles)
Dafür hab ich keine Zeit übrig, sorry  _________________ Gruss neobiker
Der Computer macht genau das, was Du ihm sagst - nicht das, was Du von ihm willst!
| <- Wiki; Celsius M450 C2Duo/2.13GHz, 6GB, 3xSATA, RAID1 + Snapshot Backups, Samba, Fritzcard ISDN + mtG-Capri = LAN-Fax (PDF-Email), Anrufbeantworter (Wav-Email), Scalix / Webmail + Outlook, VDR 7, DSL-WLAN-Router (NAT / Firewall !) vor XEN-Endian Firewall (RED, ORANGE, GREEN), WLAN inkl. VPN (IPSEC, SSL), DMZ (Webmail Reverse Proxy) |
|
|
| Nach oben |
|
 |
roman
Power User 
Anmeldungsdatum: 12.09.2005 Beiträge: 131
|
Verfasst am: 06 März 2006 20:49 Titel: |
 |
|
Natürlich hab ich diesen Thread gelesen. Ich hab nur nicht kappiert wo ich überall das Skript auf mich umschreiben muss. Ich hab mein Skript soweit abgeändert wie ich´s verstanden hab  |
|
| Nach oben |
|
 |
neobiker
Moderator  
Anmeldungsdatum: 11.08.2005 Beiträge: 1076 Wohnort: Nürnberg / Umgebung
|
Verfasst am: 06 März 2006 20:54 Titel: |
 |
|
... bin mal gnädig und helfe Dir auf die Sprünge:
In meinem Howto steht riesengross am Anfang, dass eine eigene Platte /dev/sdc1 bei mir nach /backup gemountet wird ... klingelt's  _________________ Gruss neobiker
Der Computer macht genau das, was Du ihm sagst - nicht das, was Du von ihm willst!
| <- Wiki; Celsius M450 C2Duo/2.13GHz, 6GB, 3xSATA, RAID1 + Snapshot Backups, Samba, Fritzcard ISDN + mtG-Capri = LAN-Fax (PDF-Email), Anrufbeantworter (Wav-Email), Scalix / Webmail + Outlook, VDR 7, DSL-WLAN-Router (NAT / Firewall !) vor XEN-Endian Firewall (RED, ORANGE, GREEN), WLAN inkl. VPN (IPSEC, SSL), DMZ (Webmail Reverse Proxy) |
|
|
| Nach oben |
|
 |
roman
Power User 
Anmeldungsdatum: 12.09.2005 Beiträge: 131
|
Verfasst am: 08 März 2006 14:47 Titel: |
 |
|
Hi zusammen,
ich hab jetzt das Problem wenn ich eine frisch mit ex3 formatierte Festplatte an den Server anschließe erhalte die Meldung.
(Nach dem Grub gestart ist)
| Code: |
Booting Debian GNU/Linux, Kernel 2.6.12-ct-1
root (hd0,0)
Filesystem type unknown, partition type 0xf
kernel /boot/vmlinuz-2.6.12-ct-1 root=dev/hda1 ro
Error 17: Cannot mount selected partition.
Press any key.
|
Wenn ich eine Taste drücke gelang ich wieder zum Grub.
Kann mir jemadn sagen was das Bedeutet  |
|
| Nach oben |
|
 |
flensdorfer
Silver User  
Anmeldungsdatum: 10.10.2005 Beiträge: 479
|
Verfasst am: 08 März 2006 15:51 Titel: |
 |
|
Tach Roman!
1. ist es sicher besser einen neuen Thread aufmachen und dort dein grub-Problem posten, statt diesen hier zu "hijacken"
2. möchtest Du dich sicher erstmal mit den Debian-Grundlagen vertraut machen
http://debiananwenderhandbuch.de/index.html
3. kann googlen nicht schaden
4. kann man ruhig auch mehr Infos posten, wie z.B. configs
Mal ein bischen Eigeninitiative zeigen und versuchen Probleme selbst zu lösen - hier im Forum wird Dir sicher niemand alles in kleinen Happen mundgerecht vorsetzen... ich zumindest nicht.
Aber auch hier gnädigerweise ein Tipp:
Grub möchte den Kernel von hda1 starten, dort findet er aber nichts, was er booten könnte...
| Zitat: | | wenn ich eine frisch mit ex3 formatierte Festplatte an den Server anschließe |
könnte eventuell damit zusammenhängen...  _________________
* c't-Server3, Leistungsaufnahme <50W: AMD Athlon64 X2 4850e, 2GB DDR2, Biostar A740G M2+, Enermax PRO82+, Sharkoon Rebel9 Economy Edition, 1x Fujitsu MHZ2160BH 160 GB 2.5" IDE, RAID5 (1xSamsung HD103UI 1TB F1 EcoGreen, 2x WD 10EADS 1TB Green), LianLi EX-H33, Intel Pro100 PCI, Intel Pro1000 PCIe, Fritz!Card PCI
mit c't-Server3.01 und Waldi 2.6.18-xen-3.3
* mittlerweile auf dem Altenteil: Primergy470, Dual P2-350, 1GB, 55GB UW-SCSI (4 drives) mit c't-Server2 |
|
| Nach oben |
|
 |
roman
Power User 
Anmeldungsdatum: 12.09.2005 Beiträge: 131
|
Verfasst am: 08 März 2006 16:16 Titel: |
 |
|
Mir ist schon bewust das ich ihr nicht die ganze Arbeit von mir macht
Hab ich auch nicht verlangt.
Aber warum sollte ich nicht mein Problem nicht posten wenn jemand zufällig weis was man bei diesem Problem machen muss kann er mir doch helfen. Dafür ist das Forum doch da oder darf ich nur bestimmte Probleme posten
Wenn ich die Platte nicht anschließe funktioniert ja alles und er soll ja nicht von dieser Platte booten sondern von der Standardplatte.
MFG Roman |
|
| Nach oben |
|
 |
KlausHeinisch
Golden User  
Anmeldungsdatum: 04.02.2006 Beiträge: 592 Wohnort: Hannover
|
Verfasst am: 08 März 2006 18:34 Titel: Knoppix hilft hier fast immer: |
 |
|
Hi Roman.
Wissen wir, dass du weißt, dass wir nicht wollen, dass wir deine Arbeit machen.
Darum geht es aber nicht...
Du musst schlicht noch mehr Fakten liefern, denn da wir dich nicht wie in
anderen Supportfällen (im Job oder bei engeren Freunden) am Telefon
haben, können wir nur auf die Fakten Tips geben, die du gepostet hast.
Und das reicht schlicht nicht aus, meint der Flensdorfer ohne CAPS-Taste
und meine auch ich.
Also: Knoppix 4.0 reinschmeißen (oder vorher saugen und brennen),
Server von Knoppix booten, die Platten inspizieren und hier posten,
welche Platte welche ist, wie sie formatiert sind, ob du ggf. Kabel
vertauscht hast und hda nun nicht mehr deine Standardplatte, sondern
die neue und die eigentliche hda nun z.B. hdc ist etc.
Solche Fakten, Informationen, die wir -stell dir einfach vor, welche Fragen
wir dir stellen würden, wenn wir dich am Telefon hätten- zur
Problemanalyse brauchen, musst du und kannst du selbst analysieren und
hier posten, dann wissen wir und sehen es, dass du dich reinkniest.
Viel Erfolg beim Analysieren mit Knoppix
----
Gruß, Klaus _________________ Gruß, Klaus
__________________________________________________________
Mein "RechenZentrum": - 1 Debian-Lenny mit ct-Server-3-Implantaten,
- 1 MythTV-0.20-Backend und
- 1 FritzBox, div. Clients
Die Systeme:
Server-3: Debian-LENNY als Dom-0, AMD-Athlon 64 X2 4850e, noch ohne CnQ,
Webserver, Virtual-Desktops und Infrastruktur-DomUs in Produktion (stabil),
4 * Endian-2.2 als BackEnd-Firewall (stabil) für Web, RAS, DMZ-FE & DMZ-BE
FritzBox: FrontEnd-Firewall und TCP-Port-Verteiler mit VoIP-Telefonie
|
|
| Nach oben |
|
 |
roman
Power User 
Anmeldungsdatum: 12.09.2005 Beiträge: 131
|
Verfasst am: 09 März 2006 22:11 Titel: |
 |
|
Hi Merci schonmal für deine Antwort,
also ich hab mir das neue Knoppix gezogen und hab herausgefunden das die neue Festplatte die Hdc1 ist und die alte Festplatte nach wie vor Hda1 usw.
auserdem ist die Platte in ext3 Formatiert.
Daher das ich in Linux und Knoppix ein Neuling bin kenne ich halt keine Programme z.b unter Knoppix womit ich meine Platte und so weiter Checken könnte ich kann mir auch nicht genau vorstellen welcher Fragen ihr mir alles stellen würdet
Naja falls jemad ein Programm oder was einfällt kann ers mir schreiben ich versuchs mal weiter.
MFG Roman |
|
| Nach oben |
|
 |
roman
Power User 
Anmeldungsdatum: 12.09.2005 Beiträge: 131
|
Verfasst am: 10 März 2006 19:59 Titel: |
 |
|
Hi zusammen,
es lag an sowas echt blödes
Mein Server hat ein etwas älteres Bios obwohl die andere Platte nicht angeschlossen war wollte er die falsche Platte zum Booten benützten somit hat er immer versucht von der falschen Platte zu booten
Naja jetzt hat er die Platte erkannt ich hoff jetzt bekomm ich das Skript hin.
Merci aufjedenfall mal für eure Hilfe  |
|
| Nach oben |
|
 |
KlausHeinisch
Golden User  
Anmeldungsdatum: 04.02.2006 Beiträge: 592 Wohnort: Hannover
|
Verfasst am: 11 März 2006 21:41 Titel: Durchbeissen... && Ausführung als USER |
 |
|
Hi Roman, hi neobiker
(@ Roman)
Herzlichen Glückwunsch.
Manchmal hilft wirklich nur, dass man sich durchbeißen muss.
Die Lernkurve bei Linux ist am Anfang relativ flach, d.h. du
denkst oft, "mann, bin ich blöd; warum funktioniert denn der Mist nicht;
oh nee, ist das umständlich" usw.
Darum ist das "Selberdurchbeissen" immer wichtig und nötig, um sich die
grundlegenden Dinge und auch die eigentlichen Problemdetails anzueignen
bzw. herauszufinden. Und das hat ja bei dir gut geklappt. Soll heißen, du
hast dich selbst schlau gemacht und abgerafft, wo die Probleme lagen.
Das ist sowohl für deine weitere Persönlichkeitsentwicklung wichtig als
auch für deine weiteren Erfolge mit Linux.
Und unsereiner, der ja gerne helfen will, braucht eben auch genau dieses
Gefühl, dass der Fragesteller bereit ist, sich selbst reinzuknieen.
Ohne das geht es nicht, das kommt ja in vielen Postings im Forum zum
Ausdruck...
----
Gruß, Klaus
----
PS: Bin selbst auch gerade dabei, das Script zum Fliegen zu bekommen
2.PS: (@ neobiker)
Ich hab's dann erfolgreich zum Fliegen bekommen.
Super Methode, fast genial. Vor allem der Ansatz, mit Hardlinks zu
arbeiten, gefällt mir ausgezeichnet. Denn so hat man in jedem Folder
automatisch alle Dateien liegen.
Natürlich darf man sich nicht von den jeweiligen Verzeichnisgrößen irritieren
lassen, die jeweils in Summe viel größer sind als der insgesamt verbrauchte
Platz.
Wenige Anmerkungen:
- "crontab -e" muss als ROOT aufgerufen werden, soll heißen:
Man muss die Crontab des Systems bearbeiten, was man mit dem o.g.
Kommando als ROOT auch tut.
- Wenn man dasselbe als User macht, hat man -gut, das ist ja logisch-
keine Root-Rechte und die Aktion bzw. das Snapshot-Backup scheitert.
Um nur usereigene Backups zu machen, sollte das Script auch
funktionieren, vorausgesetzt man hat a) ein anderes Backupverzeichnis
verwendet, das entweder usermountable ist oder permanent writable,
weil b) man als User die Passage im Hauptscript
| Code: |
####
#### Programm starts here ... ##################
####
[ -f ${lockfile} ] && inuse
# Als User darf man nicht mounten
# mounting
makedirs
(...Hauptteil des Hauptprogramms...)
# Als User darf man nicht mounten
# umounting
echo "Backup for ${snapshot} is complete..."
|
modifiziert hat.
Ich habe bei mir alle Aufrufe von Systemprogrammen mit absoluten
Pfaden versehen. Dann kann auch für User-Backups nichts mehr
schief gehen und man ist auch als root auf der sicheren Seite, falls
irgendwo mal was mit den Umgebungsvariablen nicht stimmt.
Und wenn man schon Backups macht, will man ja sicher sein
Was ich -vielleicht bin ich ja blind - nirgendwo gefunden habe, ist die
wichtigste Info überhaupt:
In jedem Snapshot-Verzeichnis liegt jeweils der letzte Stand
der Originaldaten vollständig drin. Das wird erreicht durch die
Verwendung von Hardlinks, die einfach nur mehrfache
Verzeichniseinträge für ein und dieselbe Datei sind. So erreicht
rsync, dass immer "alles" gesichert werden kann, aber nur die
Dateien neu kopiert werden, die auch wirlich nicht mehr identisch
mit den alten sind.
Darum kann man jederzeit von jedem Snapshot eine Sicherung
ziehen und auf Tape oder (relativ unsicher) DVD/CD ablegen.
FAZIT (again: )
SUPER SUPER SUPER
Habe jahrelang nach einer solchen Lösung gesucht und werde sie
neben den üblichen, nervigen, (teuren) komerziellen Lösungen
(nur wenige gute wie Networker (Legato) oder TSM (IBM))
auch in der 4ma einsetzen...
----
V2: PS
V3: 2. PS _________________ Gruß, Klaus
__________________________________________________________
Mein "RechenZentrum": - 1 Debian-Lenny mit ct-Server-3-Implantaten,
- 1 MythTV-0.20-Backend und
- 1 FritzBox, div. Clients
Die Systeme:
Server-3: Debian-LENNY als Dom-0, AMD-Athlon 64 X2 4850e, noch ohne CnQ,
Webserver, Virtual-Desktops und Infrastruktur-DomUs in Produktion (stabil),
4 * Endian-2.2 als BackEnd-Firewall (stabil) für Web, RAS, DMZ-FE & DMZ-BE
FritzBox: FrontEnd-Firewall und TCP-Port-Verteiler mit VoIP-Telefonie
|
|
| Nach oben |
|
 |
roman
Power User 
Anmeldungsdatum: 12.09.2005 Beiträge: 131
|
Verfasst am: 12 März 2006 14:59 Titel: |
 |
|
Hi danke für deine Antwort
Also ich hab mich da jetzt mal weiter durchgebissen.
Wenn ich jetzt aber das Skript von neobiker genauso übernehme kommt bei mir dieser Fehler.
| Code: |
server:/home/roman/skripte# sh backupskript1.sh
backupskript1.sh: line 138: rsync: command not found
backupskript1.sh: line 138: rsync: command not found
backupskript1.sh: line 138: rsync: command not found
backupskript1.sh: line 138: rsync: command not found
backupskript1.sh: line 138: rsync: command not found
Backup for server is complete...
server:/home/roman/skripte#
|
es muss Aufjedenfall was mit den Ordnern zu tun haben die gesichert werden sollen.
Wenn ich nämlich keine Ordner sicher kommt nur.
| Code: |
server:/home/roman/skripte# sh backupskript1.sh
Backup for server is complete...
server:/home/roman/skripte#
|
Und wenn ich nur einen Ordner sichern möchte dann
| Code: |
server:/home/roman/skripte# sh backupskript1.sh
backupskript1.sh: line 138: rsync: command not found
Backup for server is complete...
server:/home/roman/skripte#
|
Kann das mit den Zeilenumbrüchen bei Windows zutun haben das die anderst sind wie bei Linux.
Habt ihr ne Idee
MFG Roman |
|
| Nach oben |
|
 |
flensdorfer
Silver User  
Anmeldungsdatum: 10.10.2005 Beiträge: 479
|
Verfasst am: 12 März 2006 16:25 Titel: |
 |
|
| Code: | | backupskript1.sh: line 138: rsync: command not found |
mal zum nachdenken: was könnte "command not found" wohl heißen?
| Code: | | apt-get install rsync |
_________________
* c't-Server3, Leistungsaufnahme <50W: AMD Athlon64 X2 4850e, 2GB DDR2, Biostar A740G M2+, Enermax PRO82+, Sharkoon Rebel9 Economy Edition, 1x Fujitsu MHZ2160BH 160 GB 2.5" IDE, RAID5 (1xSamsung HD103UI 1TB F1 EcoGreen, 2x WD 10EADS 1TB Green), LianLi EX-H33, Intel Pro100 PCI, Intel Pro1000 PCIe, Fritz!Card PCI
mit c't-Server3.01 und Waldi 2.6.18-xen-3.3
* mittlerweile auf dem Altenteil: Primergy470, Dual P2-350, 1GB, 55GB UW-SCSI (4 drives) mit c't-Server2 |
|
| Nach oben |
|
 |
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
|
|
Powered by phpBB © 2001, 2005 phpBB Group.
|