sslug-teknik team mailing list archive
-
sslug-teknik team
-
Mailing list archive
-
Message #51443
Backup script gav Segmentation fault
Hejsa,
Jeg har gaflet et backupscript, som jeg var vældig glad for i en uge,
men det crashede maskinen og jeg aner ikke hvorfor.
Det crashede med en Segmentation fault der resulterede i at jeg ikke kunne
andet end pinge maskinen, den svarede ikke på ssh, ftp, http eller andet,
jeg tør ikke aktivere det igen.
(scriptet er i bunden af denne besked)
Da det kørte for ottende gang gik det galt.
Den første backup kørte jeg manuelt ved at kalde scriptet, og resten er kørt
fra cron.daily
Den jeg har kørt manuelt har af ukendte årsager fået navnet
boxen-tor.tar og ikke i det engelske format boxen-Thu.tar som alle de andre
filer er blevet navngivet efter.
Kan det være derfor det gik galt ?
Det skal også nævnes at jeg har tilføjet flere directories der skulle
inkluderes i backup'en i ugens løb, bla. /var
Er der nogen der kan se noget grundliggende galt med scriptet, eller
skyldes det min håndtering af det.
Jeg så gerne en henvisning til et andet backup script som i kan anbefale,
tak.
Her er error-mailen fra cron.daily
(mit script hedder systembackup)
bin/tar: Removing leading `/' from member names
/bin/tar: /var/lib/mysql/mysql.sock: socket ignored
/bin/tar: /var/spool/postfix/public/showq: socket ignored
/bin/tar: /var/spool/postfix/private/cleanup: socket ignored
/bin/tar: /var/spool/postfix/private/rewrite: socket ignored
/bin/tar: /var/spool/postfix/private/bounce: socket ignored
/bin/tar: /var/spool/postfix/private/defer: socket ignored
/bin/tar: /var/spool/postfix/private/flush: socket ignored
/bin/tar: /var/spool/postfix/private/smtp: socket ignored
/bin/tar: /var/spool/postfix/private/error: socket ignored
/bin/tar: /var/spool/postfix/private/local: socket ignored
/bin/tar: /var/spool/postfix/private/virtual: socket ignored
/bin/tar: /var/spool/postfix/private/lmtp: socket ignored
/bin/tar: /var/spool/postfix/private/cyrus: socket ignored
/bin/tar: /var/spool/postfix/private/uucp: socket ignored
/bin/tar: /var/spool/postfix/private/ifmail: socket ignored
/bin/tar: /var/spool/postfix/private/bsmtp: socket ignored
/etc/cron.daily/systembackup: line 53: 7585 Segmentation fault $TAR
$NEWER -cf $BACKUPDIR/$COMPUTER-$DOW.tar $DIRECTORIES
run-parts: /etc/cron.daily/systembackup exited with return code 139
run-parts: failed to exec /etc/cron.daily/tmpwatch: Bad address
run-parts: /etc/cron.daily/tmpwatch exited with return code 1
-----------------------------------------
Her er de filer der ligger i /mnt/backup
Det er et nfs mounted drev.
-rw-r--r-- 1 root root 159M maj 9 23:43 boxen-tor.tar
-rw-r--r-- 1 root root 159M maj 10 04:02 boxen-Fri.tar
-rw-r--r-- 1 root root 160M maj 11 04:01 boxen-Sat.tar
-rw-r--r-- 1 root root 222M maj 12 04:01 boxen-Sun.tar
-rw-r--r-- 1 root root 14M maj 13 04:01 boxen-Mon.tar
-rw-r--r-- 1 root root 63M maj 14 04:00 boxen-Tue.tar
-rw-r--r-- 1 root root 94M maj 15 04:01 boxen-Wed.tar
-rw-r--r-- 1 root root 60M maj 16 04:00 boxen-Thu.tar
--------------------------------
Backup script:
--------
#!/bin/sh
# full and incremental backup script
# created 07 February 2000
# Based on a script by Daniel O'Callaghan <danny@xxxxxxxxxxx>
# and modified by Gerhard Mourani <gmourani@xxxxxxxxxxxx>
#Change the 5 variables below to fit your computer/backup
COMPUTER=boxen # name of this computer
DIRECTORIES="/etc /var /usr/local/apache/ /usr/local/frontpage /root /www"
BACKUPDIR=/mnt/backup # where to store the backups
TIMEDIR=/mnt/backup/last-full # where to store time of f
ull backup
TAR=/bin/tar
#You should not have to change anything below here
PATH=/usr/local/bin:/usr/bin:/bin
DOW=`date +%a` # Day of the week e.g. Mon
DOM=`date +%d` # Date of the Month e.g. 27
DM=`date +%d%b` # Date and Month e.g. 27Sep
# On the 1st of the month a permanet full backup is made
# Every Sunday a full backup is made - overwriting last Sundays backup
# The rest of the time an incremental backup is made. Each incremental
# backup overwrites last weeks incremental backup of the same name.
#
# if NEWER = "", then tar backs up all files in the directories
# otherwise it backs up files newer than the NEWER date. NEWER
# gets it date from the file written every Sunday.
# Monthly full backup
if [ $DOM = "01" ]; then
NEWER=""
$TAR $NEWER -cf $BACKUPDIR/$COMPUTER-$DM.tar $DIRECTORIES
fi
# Weekly full backup
if [ $DOW = "Sun" ]; then
NEWER=""
NOW=`date +%d-%b`
# Update full backup date
echo $NOW > $TIMEDIR/$COMPUTER-full-date
$TAR $NEWER -cf $BACKUPDIR/$COMPUTER-$DOW.tar $DIRECTORIES
# Make incremental backup - overwrite last weeks
else
# Get date of last full backup
NEWER="--newer `cat $TIMEDIR/$COMPUTER-full-date`"
$TAR $NEWER -cf $BACKUPDIR/$COMPUTER-$DOW.tar $DIRECTORIES
fi
----------------
Mit spørgsmål:
Er der nogen forklaring på hvorfor det script crashede maskinen ?
Tak,
Mvh
Dennis
Follow ups