Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
linux:sicherung [2010-05-25 11:47] stefan |
linux:sicherung [2014-04-05 11:42] |
||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
- | ====== Sicherung des Systems ====== | ||
- | * /etc sollte per SVN versioniert werden | ||
- | * dann sollten die Subversion-Repositories unter ''/home/svn'' sowie alle übrigen wichtigen **Home-Verzeichnisse** gesichert werden | ||
- | * die **Webseiten** unter ''/var/www'' sind natürlich auch zu sichern, sowie die **MySQL-Datenbanken** mittels ''mysqldump'' | ||
- | ===== Sicherung Datenbanken ===== | ||
- | <code bash>#!/bin/bash | ||
- | TODAY=$(date +%Y-%m-%d) | ||
- | BEFORE=$(date +%Y-%m-%d -d "-7 days") | ||
- | DBS="db1 db2 db3" | ||
- | BUPATH=/home/backup/dbs/ | ||
- | BUFILE=DBs_${TODAY}.tgz | ||
- | RMFILE=DBs_${BEFORE}.tgz | ||
- | |||
- | for DB in $DBS | ||
- | do | ||
- | echo "Sichere Datenbank ${DB}" | ||
- | mysqldump $DB -u USER --password=PASS > ${BUPATH}${DB}_${TODAY}.sql | ||
- | done | ||
- | |||
- | cd ${BUPATH} | ||
- | tar --remove-files -czf ${BUFILE} *.sql | ||
- | |||
- | if test -e ${RMFILE} | ||
- | then | ||
- | echo "Entferne DB-Sicherung ${RMFILE}" | ||
- | rm ${RMFILE} | ||
- | fi | ||
- | exit 0</code> | ||
- | |||
- | ===== Sicherung Dateisystem ===== | ||
- | <code bash>#!/bin/bash | ||
- | DIRS=" | ||
- | /var/www | ||
- | /etc | ||
- | /root | ||
- | " | ||
- | |||
- | TODAY=$(date +%Y-%m-%d) | ||
- | LASTWEEK=$(date +%Y-%m-%d -d "-7 days") | ||
- | BACKUPDIR=/home/backup/filesystem/ | ||
- | |||
- | for DIR in $DIRS | ||
- | do | ||
- | NAME=`basename ${DIR}` | ||
- | CRFILE=${BACKUPDIR}${NAME}_${TODAY}.tgz | ||
- | RMFILE=${BACKUPDIR}${NAME}_${LASTWEEK}.tgz | ||
- | echo "Sichere ${DIR} nach ${CRFILE}" | ||
- | tar czf ${BACKUPDIR}${NAME}_${TODAY}.tgz ${DIR} --exclude=.svn | ||
- | |||
- | if test -e ${RMFILE} | ||
- | then | ||
- | echo "Entferne ${RMFILE}" | ||
- | rm ${RMFILE} | ||
- | fi | ||
- | done | ||
- | exit 0</code> |