Backupscript funktioniert nicht

C93

Registered User
#!/bin/sh

# Name der Backup-Datei
BACKUP_FILE="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
# in diesem Beispiel sind dies die Kunden Webseiten und E-Mails
BACKUP_DATA="/home/htdocs /var/spool/mail"

# Hostname des Backup-Servers
BACKUP_SERVER="XxxXxXXXx"

#login auf den Server
BACKUP_LOGIN="xxXXx"

#pw Fuer den Server
BACKUP_PASSWORD="xXxXXxxX"

# alte UMASK sichern
UMASK=`umask`

umask 0077
tar --exclude=${BACKUP} -czf ${BACKUP} ${BACKUP_DATA}
md5sum ${BACKUP} > ${BACKUP}.md5
echo "\$ backup ${BACKUP} ${BACKUP_FILE}" | ncftp ${BACKUP_SERVER}
rm -f ${BACKUP} ${BACKUP}.md5
umask ${UMASK}
Er zeigt mir an das er den Server zwar findet aber die Login daten verkehrt sind. Könnte es sein das ich es falsch eingebunden habe ? Es hat auch die benötigten Rechte. :confused: PW und Name sind natürlich richtig eingegeben ^^.
C93:)
 

kBuuUu

New Member
Ich war mal so frei das Script so anzupassen das es funktioniert!

Code:
#!/bin/sh

# Name der Backup-Datei
BACKUP_FILE="backup.tar.gz"

# Speicherort des Backup-Archivs [ Local ]
BACKUP_TMP="/home/backup/"

# Speicherort des Backup-Archivs [ Backup FTP ]
BACKUP_PLACE="/"

# kompletter Pfad zum Backup
BACKUP=${BACKUP_TMP}${BACKUP_FILE}

# Verzeichnisse die gesichert werden sollen
# www Verzeichnisse
BACKUP_WWW="/var/www/"

# home Verzeichnis
BACKUP_HOME="/home/"

# Hostname des Backup-Servers
BACKUP_HOST="***"

#login auf den Server
BACKUP_USER="***"

#pw Fuer den Server
BACKUP_PASSWORD="***"

# alte UMASK sichern
UMASK=`umask`

umask 0077
tar --exclude=${BACKUP} -czf ${BACKUP} ${BACKUP_WWW} ${BACKUP_HOME}
md5sum ${BACKUP} > ${BACKUP}.md5
ncftpput -m -u ${BACKUP_USER} -p ${BACKUP_PASSWORD} ${BACKUP_HOST} ${BACKUP_PLACE} ${BACKUP}
#rm -f ${BACKUP} ${BACKUP}.md5
umask ${UMASK}
 
Last edited by a moderator:

daemotron

New Member
Wenn Du's ganz elegant haben willst, kannst Du auch an ncftpput pipen - das spart die (ohnehin später gelöschte) lokale Datei. Einziger Nachteil: für eine md5-Summe müsstest Du tar noch mal losschicken:
Code:
tar -czf - ${BACKUP_DATA} | ncftpput -c -m -F -f /datei/mit/zugangsdaten ${BACKUP_PLACE}/${BACKUP}
tar -czf - ${BACKUP_DATA} | md5sum | ncftpput -c -m -F -f /datei/mit/zugangsdaten ${BACKUP_PLACE}/${BACKUP}.md5
Wobei der dabei entstehende Zeitversatz natürlich zu einer Abweichung zwischen Archiv und Checksum führen kann - wirklich sicher funktioniert das nur, wenn das Backup z. B. von einem ro-gemounteten LVM-Snapshot erzeugt wird. Im Gegenzug kann man aber noch weitere "Filter" per Pipe dazwischen hängen, z. B. symmetrische Verschlüsselung per OpenSSL:
Code:
tar -czf - ${BACKUP_DATA} | openssl enc -e aes-256 -pass file:/key/file | ncftpput -c -m -F -f /datei/mit/zugangsdaten ${BACKUP_PLACE}/${BACKUP}.aes256
Ach ja, die Credentials würde ich für ncftp in einer Textdatei ablegen, die dann per -f an ncftp übergeben wird (in obigem Beispiel /datei/mit/zugangsdaten). Die Datei hat dabei folgenden Aufbau:
Code:
host 12.34.56.78
user foo
pass bar
Wenn nur root diese Datei lesen darf, sind die Credentials wesentlich sicherer, als wenn jeder sie aus der Prozessliste abfischen könnte.
 
Last edited by a moderator:

kBuuUu

New Member
ist es möglich in dem script gewisse ordner des www auszuschliessen? zb den fastdownload ordner ..^^
 
Top