Hallo,
hab einen 1und1-Server mit Debian-Sarge testing.
Hatte zuvor mit Suse 9.1 gearbeitet.
Nun möchte ich mein Backup-Script, das unter Suse 9.1 gut lief,
http://faq.1und1.de/server/root_server/security/3.html
unter Debian nutzen.
Die folgende Zeile aus dem Script funktioniert aber nicht:
echo "$ backup ${BACKUP} ${BACKUP_FILE}" | pftp ${BACKUP_SERVER} >/dev/null
Fehlermeldung: backup macro not found.
Das Script lief unter Suse als Cronjob tadellos.
Weis jemand, was ich ändern muss?
MfG
Wolfgang
Verbindung zum backup-space
Re: Verbindung zum backup-space
>>backup macro not found
Kann es sein, daß da ein 2. Skript benötigt wird ??
Gruß Outi
Kann es sein, daß da ein 2. Skript benötigt wird ??
Gruß Outi
>>backup macro not found
Hallo Outi,
Kann es sein, daß da ein 2. Skript benötigt wird ??
NEIN.
Die Datei /root/.netrc muss 0600 haben - dann lief es wieder.
Vielleicht interessant:
Das Script
#!/bin/bash
# server:/root/bin/system-backup.sh
# ------------------------------------------------
# Variablen
# ------------------------------------------------
IDENT="server"
DATUM=$(date "+%Y-%m-%d_%H")
IDSTRING=${IDENT}-${DATUM}
LOGDIR="/var/log/backup"
LOGFILE="$LOGDIR/${IDSTRING}.log"
BACKERR="$LOGDIR/backerr"
MUTT="/usr/bin/mutt"
ADMINMAIL="webmaster@xxx.de"
# Name der Backup-Datei
BACKUP_FILE="system-backup.tar.gz"
# temporaerer Speicherort des Backup-Archivs
BACKUP_TMP="/home/backup/"
# kompletter Pfad zum Backup
BACKUP=${BACKUP_TMP}${BACKUP_FILE}
# Verzeichnisse die gesichert werden sollen
BACKUP_DATA="/bin /boot /dev /etc /home /lib /mysql /opt /root /sbin /srv /usr /var"
# Zum Testen auskommentieren !!!
#BACKUP_DATA="/home/gibt-es-nicht /home/files /home/htdocs /var/spool/mail /var/lib/mysql"
# Hostname des Backup-Servers
BACKUP_SERVER="backup123.pureserver.info"
hasError=""
# ----------------------------------------------
# Funktionen
# ----------------------------------------------
initialize () {
if [ ! -d $LOGDIR ]; then
mkdir -p $LOGDIR
fi
: > $LOGFILE
: > $BACKERR
}
logme () {
DATUM=$(date "+%Y-%m-%d %H:%M")
echo -e "$DATUM $1" >> $LOGFILE
}
preBackup () {
logme "+ preBackup: start"
# do a mysql-dump and store result in /home/user/backup
/usr/bin/mysqldump --password=bpzSncZt -u web0 usr_web0_1 > /home/htdocs/web0/backup/usr_web0_1.sql
chmod 400 /home/htdocs/web0/backup/usr_web0_1.sql
/usr/bin/mysqldump --password=Xi27wXX8 -u web1 usr_web1_1 > /home/htdocs/web1/backup/usr_web1_1.sql
chmod 400 /home/htdocs/web1/backup/usr_web1_1.sql
/usr/bin/mysqldump --password=OgSsILWI -u web2 usr_web2_1 > /home/htdocs/web2/backup/usr_web2_1.sql
chmod 400 /home/htdocs/web2/backup/usr_web2_1.sql
/usr/bin/mysqldump --password=6Spi71bS -u web3 usr_web3_1 > /home/htdocs/web3/backup/usr_web3_1.sql
chmod 400 /home/htdocs/web3/backup/usr_web3_1.sql
/usr/bin/mysqldump --password=Eq9hH6xo -u web4 usr_web4_1 > /home/htdocs/web4/backup/usr_web4_1.sql
chmod 400 /home/htdocs/web4/backup/usr_web4_1.sql
/usr/bin/mysqldump --password=E6xWX3aZ -u web5 usr_web5_1 > /home/htdocs/web5/backup/usr_web5_1.sql
chmod 400 /home/htdocs/web5/backup/usr_web5_1.sql
logme "- preBackup: finished"
}
postBackup () {
logme "+ postBackup: start"
# Aufraeumarbeiten
rm -f ${BACKUP} ${BACKUP}.md5
logme "- postBackup: finished"
}
# === MAIN =====================================
initialize
preBackup
# ----------------------------------------------
# Sicherung
# ----------------------------------------------
if [ "$hasError" == "" ]; then
logme "+ starting tar"
tar --exclude=${BACKUP} -czf ${BACKUP} ${BACKUP_DATA} 2>> $BACKERR || hasError="${hasError} Error mit tar"
if [ "$hasError" == "" ]; then
logme "- tar done"
md5sum ${BACKUP} > ${BACKUP}.md5
echo "$ backup ${BACKUP} ${BACKUP_FILE}" | pftp ${BACKUP_SERVER} 2>> $BACKERR || hasError="${hasError} Error bei Datenexport"
else
logme "- backups done: errors on: $hasError"
fi
fi
# ---------------------------------------------
postBackup
# Mail an Webmaster
if [ "$hasError" == "" ]; then
$MUTT -x -s "Backup done, OK" $ADMINMAIL <$LOGFILE
else
$MUTT -x -a $BACKERR -s "Backup Error !!!" $ADMINMAIL <$LOGFILE
fi
Kann es sein, daß da ein 2. Skript benötigt wird ??
NEIN.
Die Datei /root/.netrc muss 0600 haben - dann lief es wieder.
Vielleicht interessant:
Das Script
#!/bin/bash
# server:/root/bin/system-backup.sh
# ------------------------------------------------
# Variablen
# ------------------------------------------------
IDENT="server"
DATUM=$(date "+%Y-%m-%d_%H")
IDSTRING=${IDENT}-${DATUM}
LOGDIR="/var/log/backup"
LOGFILE="$LOGDIR/${IDSTRING}.log"
BACKERR="$LOGDIR/backerr"
MUTT="/usr/bin/mutt"
ADMINMAIL="webmaster@xxx.de"
# Name der Backup-Datei
BACKUP_FILE="system-backup.tar.gz"
# temporaerer Speicherort des Backup-Archivs
BACKUP_TMP="/home/backup/"
# kompletter Pfad zum Backup
BACKUP=${BACKUP_TMP}${BACKUP_FILE}
# Verzeichnisse die gesichert werden sollen
BACKUP_DATA="/bin /boot /dev /etc /home /lib /mysql /opt /root /sbin /srv /usr /var"
# Zum Testen auskommentieren !!!
#BACKUP_DATA="/home/gibt-es-nicht /home/files /home/htdocs /var/spool/mail /var/lib/mysql"
# Hostname des Backup-Servers
BACKUP_SERVER="backup123.pureserver.info"
hasError=""
# ----------------------------------------------
# Funktionen
# ----------------------------------------------
initialize () {
if [ ! -d $LOGDIR ]; then
mkdir -p $LOGDIR
fi
: > $LOGFILE
: > $BACKERR
}
logme () {
DATUM=$(date "+%Y-%m-%d %H:%M")
echo -e "$DATUM $1" >> $LOGFILE
}
preBackup () {
logme "+ preBackup: start"
# do a mysql-dump and store result in /home/user/backup
/usr/bin/mysqldump --password=bpzSncZt -u web0 usr_web0_1 > /home/htdocs/web0/backup/usr_web0_1.sql
chmod 400 /home/htdocs/web0/backup/usr_web0_1.sql
/usr/bin/mysqldump --password=Xi27wXX8 -u web1 usr_web1_1 > /home/htdocs/web1/backup/usr_web1_1.sql
chmod 400 /home/htdocs/web1/backup/usr_web1_1.sql
/usr/bin/mysqldump --password=OgSsILWI -u web2 usr_web2_1 > /home/htdocs/web2/backup/usr_web2_1.sql
chmod 400 /home/htdocs/web2/backup/usr_web2_1.sql
/usr/bin/mysqldump --password=6Spi71bS -u web3 usr_web3_1 > /home/htdocs/web3/backup/usr_web3_1.sql
chmod 400 /home/htdocs/web3/backup/usr_web3_1.sql
/usr/bin/mysqldump --password=Eq9hH6xo -u web4 usr_web4_1 > /home/htdocs/web4/backup/usr_web4_1.sql
chmod 400 /home/htdocs/web4/backup/usr_web4_1.sql
/usr/bin/mysqldump --password=E6xWX3aZ -u web5 usr_web5_1 > /home/htdocs/web5/backup/usr_web5_1.sql
chmod 400 /home/htdocs/web5/backup/usr_web5_1.sql
logme "- preBackup: finished"
}
postBackup () {
logme "+ postBackup: start"
# Aufraeumarbeiten
rm -f ${BACKUP} ${BACKUP}.md5
logme "- postBackup: finished"
}
# === MAIN =====================================
initialize
preBackup
# ----------------------------------------------
# Sicherung
# ----------------------------------------------
if [ "$hasError" == "" ]; then
logme "+ starting tar"
tar --exclude=${BACKUP} -czf ${BACKUP} ${BACKUP_DATA} 2>> $BACKERR || hasError="${hasError} Error mit tar"
if [ "$hasError" == "" ]; then
logme "- tar done"
md5sum ${BACKUP} > ${BACKUP}.md5
echo "$ backup ${BACKUP} ${BACKUP_FILE}" | pftp ${BACKUP_SERVER} 2>> $BACKERR || hasError="${hasError} Error bei Datenexport"
else
logme "- backups done: errors on: $hasError"
fi
fi
# ---------------------------------------------
postBackup
# Mail an Webmaster
if [ "$hasError" == "" ]; then
$MUTT -x -s "Backup done, OK" $ADMINMAIL <$LOGFILE
else
$MUTT -x -a $BACKERR -s "Backup Error !!!" $ADMINMAIL <$LOGFILE
fi