From 9dbd16e10215f4795d2e11454210e1dd3b93221c Mon Sep 17 00:00:00 2001 From: Gorden Date: Wed, 7 Apr 2021 09:01:50 +0200 Subject: [PATCH] added backup-scripts --- etcbackup.sh | 33 +++++++++++++++++++++++++++++ mailbackup.sh | 16 ++++++++++++++ mysql-dump.sh | 35 +++++++++++++++++++++++++++++++ pg-backup.sh | 15 +++++++++++++ spam-checker.sh | 56 +++++++++++++++++++++++++++++++++++++++++++++++++ 5 files changed, 155 insertions(+) create mode 100644 etcbackup.sh create mode 100644 mailbackup.sh create mode 100644 mysql-dump.sh create mode 100644 pg-backup.sh create mode 100644 spam-checker.sh diff --git a/etcbackup.sh b/etcbackup.sh new file mode 100644 index 0000000..8690241 --- /dev/null +++ b/etcbackup.sh @@ -0,0 +1,33 @@ +#!/bin/sh + +### etc backup script - (c) solusar.de 2011 + +## Backup etc: +# +# tar -cjf /path/to/backup/file.tar.bz2 /path/to/backup-folder/ + +## Restore Data: +# +# evt. erstellen des Verzeichnisses +# mkdir /var/www/web1/html +# +# einspielen +# tar xvjf /path/to/backup/file.tar.bz2 /restore/path/ + +echo "etc backup running..." +echo "etc backup running..." | logger + +# aktuelles Datum f�r Dateinamen setzen +DATUM=`/bin/date '+%Y-%m-%d'` + +# check for existing backups and delete them! + find /backup/etcbackup_*.tar.bz2 -mtime +1 -type f -delete + +if tar -cjf /backup/etcbackup_$DATUM.tar.bz2 /etc +then + echo "`date` - etc backup file etcbackup_$DATUM.tar.bz2 succesfull created." | logger + echo "`date` - etc backup file etcbackup_$DATUM.tar.bz2 succesfull created." +else + echo "`date` - etc backup failed!!!" | logger + echo "`date` - etc backup failed!!!" +fi \ No newline at end of file diff --git a/mailbackup.sh b/mailbackup.sh new file mode 100644 index 0000000..926ae88 --- /dev/null +++ b/mailbackup.sh @@ -0,0 +1,16 @@ +#!/bin/sh + +# aktuelles Datum f�r Dateinamen setzen +DATUM=`/bin/date '+%Y-%m-%d'` + +# check for existing backups and delete them! + find /backup/mailboxbackup_*.tar.bz2 -mtime +1 -type f -delete + +if tar -cjf /backup/mailboxbackup_$DATUM.tar.bz2 /var/opt/vmail/solusar.de/ +then + echo "`date` - mailbox backup file mailboxbackup_$DATUM.tar.bz2 succesfull created." | logger + echo "`date` - mailbox backup file mailboxbackup_$DATUM.tar.bz2 succesfull created." +else + echo "`date` - mailbox backup failed!!!" | logger + echo "`date` - mailbox backup failed!!!" +fi \ No newline at end of file diff --git a/mysql-dump.sh b/mysql-dump.sh new file mode 100644 index 0000000..6fe6ab5 --- /dev/null +++ b/mysql-dump.sh @@ -0,0 +1,35 @@ +#!/bin/bash +# +# backup-mysql.sh 1.02 +# +# Dumps all databases to seperate files. All files are created in a folder designated after the current date. Folders exceeding the defined hold time are purged automatically. +# +# (c)2015-2016 Harald Schneider +# +# Setup.start +# +HOLD_DAYS=3 +BACKUP_DIR="/backup/mysql" +MYSQL_USR="root" +MYSQL_PWD="+avatar111" +MYSQL_CMD=/usr/bin/mysql +MYSQL_DMP=/usr/bin/mysqldump +# Use this for MAMP on MacOSX: +# +#MYSQL_CMD=/Applications/MAMP/Library/bin/mysql MYSQL_DMP=/Applications/MAMP/Library/bin/mysqldump +# +# Setup.end +TIMESTAMP=$(date +"%F") +mkdir -p "$BACKUP_DIR/$TIMESTAMP" +databases=`$MYSQL_CMD --user=$MYSQL_USR -p$MYSQL_PWD -e "SHOW DATABASES;" | grep -Ev "(Database|information_schema|performance_schema)"` + +for db in $databases; do + echo "Dumping $db ..." + $MYSQL_DMP --force --opt --user=$MYSQL_USR -p$MYSQL_PWD --databases $db | gzip > "$BACKUP_DIR/$TIMESTAMP/$db.sql.gz" +done + +echo +echo "Cleaning up ..." +find $BACKUP_DIR -maxdepth 1 -type d -ctime +$HOLD_DAYS -exec rm -rf {} + +echo +echo "-- DONE!" \ No newline at end of file diff --git a/pg-backup.sh b/pg-backup.sh new file mode 100644 index 0000000..58307b0 --- /dev/null +++ b/pg-backup.sh @@ -0,0 +1,15 @@ +#!/bin/bash +umask 027 + +cd /tmp + +# set environment +BACKUP_DIR=/backup/pg-backup/ +HOLD_DAYS=3 +cur_date=$(/bin/date +"%Y-%m-%d") + +# full dump postgres dbs +/usr/bin/pg_dumpall | /bin/gzip > $BACKUP_DIR/$cur_date.sql.gz + +# cleanup +find $BACKUP_DIR -maxdepth 1 -type f -ctime +$HOLD_DAYS -exec rm -rf {} + \ No newline at end of file diff --git a/spam-checker.sh b/spam-checker.sh new file mode 100644 index 0000000..78e093d --- /dev/null +++ b/spam-checker.sh @@ -0,0 +1,56 @@ +#!/bin/bash +umask 027 + +cd /tmp + +# set environment +BACKUP_DIR=/backup/pg-backup/ +HOLD_DAYS=3 +cur_date=$(/bin/date +"%Y-%m-%d") + +# full dump postgres dbs +/usr/bin/pg_dumpall | /bin/gzip > $BACKUP_DIR/$cur_date.sql.gz + +# cleanup +find $BACKUP_DIR -maxdepth 1 -type f -ctime +$HOLD_DAYS -exec rm -rf {} + +root@euve130167:/home/caelebfi/git/root-scripts# cat spam-checker.sh +#!/bin/sh + +if [ $(find /var/opt/vmail/solusar.de/gorden/.Spam/cur | wc -l) -gt 1 ] +then + # gorden + sa-learn --spam /var/opt/vmail/solusar.de/gorden/.Spam/cur + rm -f /var/opt/vmail/solusar.de/gorden/.Spam/cur/* +fi + +if [ $(find /var/opt/vmail/solusar.de/gorden/.Ham/cur | wc -l) -gt 1 ] +then + sa-learn --ham /var/opt/vmail/solusar.de/gorden/.Ham/cur + rm -f /var/opt/vmail/solusar.de/gorden/.Ham/cur/* +fi + +if [ $(find /var/opt/vmail/solusar.de/indra/.Spam/cur | wc -l) -gt 1 ] +then + # indra + sa-learn --spam /var/opt/vmail/solusar.de/indra/.Spam/cur + rm -f /var/opt/vmail/solusar.de/indra/.Spam/cur/* +fi + +if [ $(find /var/opt/vmail/solusar.de/indra/.Ham/cur | wc -l) -gt 1 ] +then + sa-learn --ham /var/opt/vmail/solusar.de/indra/.Ham/cur + rm -f /var/opt/vmail/solusar.de/indra/.Ham/cur/* +fi + +if [ $(find /var/opt/vmail/solusar.de/julia/.Spam/cur | wc -l) -gt 1 ] +then + # julia + sa-learn --spam /var/opt/vmail/solusar.de/julia/.Spam/cur + rm -f /var/opt/vmail/solusar.de/julia/.Spam/cur/* +fi + +if [ $(find /var/opt/vmail/solusar.de/julia/.Ham/cur | wc -l) -gt 1 ] +then + sa-learn --ham /var/opt/vmail/solusar.de/julia/.Ham/cur + rm -f /var/opt/vmail/solusar.de/julia/.Ham/cur/* +fi \ No newline at end of file