Backup script
From Linkwiki
| tbd @ |
|---|
Background
This is the current backup script for Wiki Aventurica.
It is called by Cron every morning at around 6 a.m.
Code
#!/bin/bash
#Variable für Dateinamen, wir wollen den abgekürzten Wochentag
_now=$(date +"%a")
#Variable für Logdatei
logfile=/var/www/vhosts/wiki-aventurica.de/scripts/backup/backup.log
#Zeitstempel in log-Datei schreiben
echo -n " start " >> $logfile 2>&1
date +"%d.%m.%y %T" >> $logfile 2>&1
#Öffentlichkeit ausschließen, vorher aktuelle htaccess sichern
cp -a /var/www/vhosts/wiki-aventurica.de/httpdocs/wa/.htaccess /var/www/vhosts/wiki-aventurica.de/scripts/backup/.htaccess_temp 2>> $logfile
cp -a /var/www/vhosts/wiki-aventurica.de/scripts/backup/.htaccess /var/www/vhosts/wiki-aventurica.de/httpdocs/wa/.htaccess 2>> $logfile
#mariadb stoppen
systemctl stop mariadb.service 2>> $logfile
#/etc/init.d/mysqld stop --innodb-fast-shutdown=0
#Ordner mysql sichern, vorher alte Version löschen
rm -rf /var/www/vhosts/wiki-aventurica.de/backups/$_now/mysql_$_now 2>> $logfile
cp -a /var/lib/mysql /var/www/vhosts/wiki-aventurica.de/backups/$_now/mysql_$_now 2>> $logfile
#mariadb wieder starten
systemctl start mariadb.service 2>> $logfile
#Datenbanken über mysqldump sichern
mysqldump --defaults-extra-file=/var/www/vhosts/wiki-aventurica.de/scripts/backup/.my.cnf -h localhost -u wiki --default-character-set=binary centralauth | gzip > /var/www/vhosts/wiki-aventurica.de/backups/$_now/backup_centralauth_$_now.sql.gz 2>> $logfile
mysqldump --defaults-extra-file=/var/www/vhosts/wiki-aventurica.de/scripts/backup/.my.cnf -h localhost -u wiki --default-character-set=binary enwa | gzip > /var/www/vhosts/wiki-aventurica.de/backups/$_now/backup_enwa_$_now.sql.gz 2>> $logfile
mysqldump --defaults-extra-file=/var/www/vhosts/wiki-aventurica.de/scripts/backup/.my.cnf -h localhost -u wiki --default-character-set=binary frwa | gzip > /var/www/vhosts/wiki-aventurica.de/backups/$_now/backup_frwa_$_now.sql.gz 2>> $logfile
mysqldump --defaults-extra-file=/var/www/vhosts/wiki-aventurica.de/scripts/backup/.my.cnf -h localhost -u wiki --default-character-set=binary itwa | gzip > /var/www/vhosts/wiki-aventurica.de/backups/$_now/backup_itwa_$_now.sql.gz 2>> $logfile
mysqldump --defaults-extra-file=/var/www/vhosts/wiki-aventurica.de/scripts/backup/.my.cnf -h localhost -u wiki --default-character-set=binary nlwa | gzip > /var/www/vhosts/wiki-aventurica.de/backups/$_now/backup_nlwa_$_now.sql.gz 2>> $logfile
mysqldump --defaults-extra-file=/var/www/vhosts/wiki-aventurica.de/scripts/backup/.my.cnf -h localhost -u wiki --default-character-set=binary ruwa | gzip > /var/www/vhosts/wiki-aventurica.de/backups/$_now/backup_ruwa_$_now.sql.gz 2>> $logfile
mysqldump --defaults-extra-file=/var/www/vhosts/wiki-aventurica.de/scripts/backup/.my.cnf -h localhost -u wiki --default-character-set=binary test | gzip > /var/www/vhosts/wiki-aventurica.de/backups/$_now/backup_test_$_now.sql.gz 2>> $logfile
mysqldump --defaults-extra-file=/var/www/vhosts/wiki-aventurica.de/scripts/backup/.my.cnf -h localhost -u wiki --default-character-set=binary dewa | gzip > /var/www/vhosts/wiki-aventurica.de/backups/$_now/backup_dewa_$_now.sql.gz 2>> $logfile
#categorylinks für Avespfade.de dumpen
mysqldump --defaults-extra-file=/var/www/vhosts/wiki-aventurica.de/scripts/backup/.my.cnf -h localhost -u wiki --default-character-set=binary dewa categorylinks | gzip > /var/www/vhosts/wiki-aventurica.de/httpdocs/offline/dump/dump_categorylinks.sql.gz 2>> $logfile
chown -R wiki-aventurica-aves-phex /var/www/vhosts/wiki-aventurica.de/httpdocs/offline/dump
#custom log rotation
rm /var/www/vhosts/wiki-aventurica.de/scripts/logarchive/access_ssl_log_custom_7.gz 2>> $logfile
mv /var/www/vhosts/wiki-aventurica.de/scripts/logarchive/access_ssl_log_custom_6.gz /var/www/vhosts/wiki-aventurica.de/scripts/logarchive/access_ssl_log_custom_7.gz 2>> $logfile
mv /var/www/vhosts/wiki-aventurica.de/scripts/logarchive/access_ssl_log_custom_5.gz /var/www/vhosts/wiki-aventurica.de/scripts/logarchive/access_ssl_log_custom_6.gz 2>> $logfile
mv /var/www/vhosts/wiki-aventurica.de/scripts/logarchive/access_ssl_log_custom_4.gz /var/www/vhosts/wiki-aventurica.de/scripts/logarchive/access_ssl_log_custom_5.gz 2>> $logfile
mv /var/www/vhosts/wiki-aventurica.de/scripts/logarchive/access_ssl_log_custom_3.gz /var/www/vhosts/wiki-aventurica.de/scripts/logarchive/access_ssl_log_custom_4.gz 2>> $logfile
mv /var/www/vhosts/wiki-aventurica.de/scripts/logarchive/access_ssl_log_custom_2.gz /var/www/vhosts/wiki-aventurica.de/scripts/logarchive/access_ssl_log_custom_3.gz 2>> $logfile
mv /var/www/vhosts/wiki-aventurica.de/scripts/logarchive/access_ssl_log_custom_1.gz /var/www/vhosts/wiki-aventurica.de/scripts/logarchive/access_ssl_log_custom_2.gz 2>> $logfile
mv /var/www/vhosts/wiki-aventurica.de/scripts/logarchive/access_ssl_log_custom /var/www/vhosts/wiki-aventurica.de/scripts/logarchive/access_ssl_log_custom_1 2>> $logfile
cp /var/www/vhosts/wiki-aventurica.de/scripts/logfresh/access_ssl_log_custom /var/www/vhosts/wiki-aventurica.de/scripts/logarchive/access_ssl_log_custom 2>> $logfile
gzip /var/www/vhosts/wiki-aventurica.de/scripts/logarchive/access_ssl_log_custom_1 2>> $logfile
chown -R wiki-aventurica-aves-phex /var/www/vhosts/wiki-aventurica.de/scripts/logarchive
#Öffentlichkeit wieder einlassen
cp -a /var/www/vhosts/wiki-aventurica.de/scripts/backup/.htaccess_temp /var/www/vhosts/wiki-aventurica.de/httpdocs/wa/.htaccess 2>> $logfile
echo -n " finish " >> $logfile 2>&1
date +"%d.%m.%y %T" >> $logfile 2>&1
