October 12

file /scripts/do.backup.sh

cron:
01 00 * * * /bin/sh /scripts/do.backup.sh

script:

#!/bin/bash
echo "[`date`] => Backup has been started" >> /var/log/backup.log
echo "---------->>>>>> Started: `date` < <<<<<----------------"
rm -Rf /var/www/local_copy/*
df -h
rm -f /root/grouplist.file
rm -f /root/dblist.file
## +locations
echo "---------->>>>>> + locations < <<<<<----------------"
mkdir -p /var/www/local_copy
mkdir -p /var/www/local_copy/for_backups
mkdir -p /var/www/local_copy/`date +%d.%m.%Y`
mkdir -p /var/www/local_copy/`date +%d.%m.%Y`/mysql
mkdir -p /var/www/local_copy/`date +%d.%m.%Y`/users
mkdir -p /var/www/local_copy/`date +%d.%m.%Y`/emails
## +mysqldump
echo "---------->>>>>> + mysqldump < <<<<<----------------"
mysql -e "SHOW DATABASES;" | tr -d "| " | grep -v Database|grep -v "performance_schema\|mysql\|information_schema" >> /root/dblist.file
for i in `cat /root/dblist.file`;do mysqldump --single-transaction -f --databases "$i" >> /var/www/local_copy/for_backups/"$i".sql && zip -r /var/www/local_copy/`date +%d.%m.%Y`/mysql/"$i".zip /var/www/local_copy/for_backups/"$i".sql && rm -f /var/www/local_copy/for_backups/"$i".sql;done
echo "---------->>>>>> + /system < <<<<<----------------"
zip -rq --symlinks /var/www/local_copy/`date +%d.%m.%Y`/etc.zip /etc
zip -rq --symlinks /var/www/local_copy/`date +%d.%m.%Y`/mgr5.zip /usr/local/mgr5
zip -rq --symlinks /var/www/local_copy/`date +%d.%m.%Y`/cron.zip /var/spool/cron
echo "---------->>>>>> + move system files < <<<<<----------------"
rsync -a -e "ssh -i /root/.ssh/key_name" /var/www/local_copy/`date +%d.%m.%Y` key_name@server_ip:/home/key_name/backups/
echo "---------->>>>>> + users < <<<<<----------------"
ls /var/www/|grep -v "php-\|html\|httpd-logs\|httpd-cert\|cgi-bin\|webalizer\|local_copy\|grandmother"|sed '1d' >> /root/grouplist.file
for i in `cat /root/grouplist.file`;do zip -rq --symlinks /var/www/local_copy/`date +%d.%m.%Y`/"$i".zip /var/www/"$i" && rsync -a -e "ssh -i /root/.ssh/key_name" /var/www/local_copy/`date +%d.%m.%Y`/"$i".zip key_name@server_ip:/home/key_name/backups/`date +%d.%m.%Y`/users/ && rm -f /var/www/local_copy/`date +%d.%m.%Y`/"$i".zip;done
rm -Rf /var/www/local_copy/`date +%d.%m.%Y`
rm -f /root/dblist.file
df -h
echo "[`date`] ==> Backup has been completed" >> /var/log/backup.log
cd /var/www/httpd-logs/ && ls -alh |grep G|awk {'print $9'}|xargs rm -fv
echo "---------->>>>>>Backups Completed: `date` < <<<<<----------------"


Copyright 2021. All rights reserved.

Posted 12 October 2016 by admin in category "simple memo

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.