Data backuppen op Plesk server

Asclepius, Bash, CentOS, Linux, Plesk, Scripting, Servers Add comments

Voor het backuppen van de data op mijn Plesk server Asclepius heb ik er voor gekozen om dat niet via de ingebouwde backup functie van Plesk te doen. Plesk gebruikt een backup formaat die ik tot nu toe nog niet zelf uit heb kunnen pakken. Dat is onhandig, want dan kan ik niet specifieke delen van een backup herstellen. Daarom heb ik het volgende script gemaakt:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#!/bin/bash                                                                                                                                                  
                                                                                                                                                             
MAILADDR='<e-mail voor backup notificatie>'                                                                                                                          
                                                                                                                                                             
MYSQLUSER='admin'                                                                                                                                            
MYSQLPASS=`cat /etc/psa/.psa.shadow`                                                                                                                        
                                                                                                                                                             
FTPSERVER='<ftpserver>'                                                                                                                              
FTPUSER='<ftpuser>'                                                                                                                                    
FTPPASS='<ftp-password>'                                                                                                                                  
REMOTEPATH='<path op ftp server>'                                                                                                                          
                                                                                                                                                             
                                                                                                                                                             
echo 'Plesk enhanced-backup v1.0'                                                                                                                            
echo ' '                                                                                                                                                    
echo '>> Oude backups verwijderen'                                                                                                                          
rm /opt/backup/backup.tar.bz2                                                                                                                                
rm /opt/backup/place/*.tar.bz2 /opt/backup/place/*.sql                                                                                                      
cd /opt/backup/place                                                                                                                                        
echo '>> MySQL backup maken'                                                                                                                                
/usr/bin/mysqldump --password=$MYSQLPASS --user=$MYSQLUSER --all-databases > dbs.sql            
                                                             
echo '>> Mail backup maken'                                                                                                                                  
/bin/tar -cjf mail.tar.bz2 /var/qmail
                                                                                                                                                                                                                                        echo '>> Websites backup maken'                                                                                
                                             
/bin/tar -cjf sites.tar.bz2 --exclude=chroot/* /var/www/vhosts/                                                                      
echo ' '                                                                                                                                                    
echo '>> Alles inpakken'                                                                                                                                    
cd /opt/backup/                                                                                                                                              
/bin/tar -cjf backup.tar.bz2 /opt/backup/place                                                                                                              
echo ' '                                                                                                                                                    
echo '>> Backup uploaden'                                                                                                                                    
/usr/bin/ncftpput -u $FTPUSER -p $FTPPASS $FTPSERVER $REMOTEPATH backup.tar.bz2
                                                                             
echo ' '                                                                                                                                                    
echo '>> Mail sturen om te laten weten dat het is gelukt'                                                                                                    
echo "Het backuppen is gelukt!" | /usr/bin/mutt -s "Backup voltooit" $MAILADDR                                                                              
echo ' '                                                                                                                                                    
echo '<< BACKUP VOLTOOIT >>'

Dit script maakt een afzonderlijke backup van de website data, e-mail en mysql databases en upload deze naar een externe ftp server.
Let op, hiervoor heb je wel de applicaties mutt en ncftp nodig. Indien deze nog niet zijn geinstalleerd kan je dat als volgt doen:
Op Ubuntu/Debian:

1
shell# apt-get install ncftp mutt

CentOS 5 heeft ncftp standaard niet in haar repository’s, daar kan het installeren via (i386):

1
2
3
4
shell# yum install mutt
shell# cd /usr/src
shell# wget http://mirror.ontwikkelzone.nl/rpms/ncftp-3.2.0-1.fc5.i386.rpm
shell# rpm -i ncftp-3.2.0-1.fc5.i386.rpm

Het script gebruikt /opt/backup en /opt/backup/place als tijdelijke mappen, maar dit kan je natuurlijk gewoon aanpassen.
Op deze manier kan ik alle data goed backuppen en ook specifieke delen terug plaatsen. :D

Stem of voeg toe aan Uitleg over het gebruik van deze icons : Plaatsen/stemmen op eKudos Plaatsen/stemmen op NUjij Plaatsen/stemmen op MSN Reporter Plaatsen/stemmen op Digg Stumble it! Voeg dit artikel toe aan Del.icio.us Voeg toe aan je Google bladwijzers Abonneer je op de RSS-feed van deze site Verstuur deze pagina per e-mail via Feedburner Maak een notitie op deze pagina met Fleck

Leave a Reply

WP Theme & Icons by N.Design Studio
Entries RSS Comments RSS Inloggen
Abonneer je op de RSS-feed van deze siteVoeg deze site toe aan Del.icio.usVoeg deze site toe aan je favorieten op TechnoratiStumble deze site!