Asterisk Backup Shell Script: Difference between revisions
From KlavoWiki
Jump to navigationJump to search
No edit summary |
|||
(10 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
This section details the way I currently backup my Asterisk server. The script will create a tar.gz file with all the required files and then copy them to a Windows computer where I can store/archive the backups. If I ever need to restore a file or rebuild the server I can easily restore the configuration by decompressing the tar.gz file. | This section details the way I currently backup my Asterisk server. The script will create a tar.gz file with all the required files and then copy them to a Windows computer where I can store/archive the backups. If I ever need to restore a file or rebuild the server I can easily restore the configuration by decompressing the tar.gz file. | ||
'''Prerequisite''' | |||
<pre> | |||
yum install samba-client cifs-utils | |||
</pre> | |||
<pre> | <pre> | ||
Line 5: | Line 10: | ||
# Define configuration values here | # Define configuration values here | ||
strSiteName="BackupFolder" | |||
strSiteName=" | strBackupServer="fileserver.home.local" | ||
strBackupServer=" | strBackupFolder="sharename" | ||
strBackupFolder=" | |||
strSambaUser="username" | strSambaUser="username" | ||
strSambaPass="password" | strSambaPass="password" | ||
Line 17: | Line 21: | ||
strBackupFilename="$strCurDate.tar" | strBackupFilename="$strCurDate.tar" | ||
strBackupPath="//$strBackupServer/$strBackupFolder" | strBackupPath="//$strBackupServer/$strBackupFolder" | ||
mysqldump asteriskcdr >/root/$strCurDate-asterisk.sql | mysqldump asteriskcdr >/root/$strCurDate-asterisk.sql | ||
mysqldump reverseau >/root/$strCurDate-reverseau.sql | |||
cd / | cd / | ||
Line 27: | Line 30: | ||
/bin/tar -rvf /tmp/$strBackupFilename var/spool/asterisk/* | /bin/tar -rvf /tmp/$strBackupFilename var/spool/asterisk/* | ||
/bin/tar -rvf /tmp/$strBackupFilename var/lib/asterisk/agi-bin/* | /bin/tar -rvf /tmp/$strBackupFilename var/lib/asterisk/agi-bin/* | ||
/bin/tar -rvf /tmp/$strBackupFilename var/lib/asterisk/astdb | /bin/tar -rvf /tmp/$strBackupFilename var/lib/asterisk/astdb | ||
/bin/tar -rvf /tmp/$strBackupFilename var/lib/asterisk/sounds/announce | /bin/tar -rvf /tmp/$strBackupFilename var/lib/asterisk/sounds/announce | ||
/bin/tar -rvf /tmp/$strBackupFilename var/lib/asterisk/sounds/ivr | /bin/tar -rvf /tmp/$strBackupFilename var/lib/asterisk/sounds/ivr | ||
/bin/tar -rvf /tmp/$strBackupFilename var/log/asterisk/* | /bin/tar -rvf /tmp/$strBackupFilename var/log/asterisk/* | ||
/bin/tar -rvf /tmp/$strBackupFilename var/ | /bin/tar -rvf /tmp/$strBackupFilename var/www/html/call-back/* | ||
/bin/tar -rvf /tmp/$strBackupFilename var/www/html/ | /bin/tar -rvf /tmp/$strBackupFilename var/www/html/GoTalk.php | ||
/bin/tar -rvf /tmp/$strBackupFilename opt/ | /bin/tar -rvf /tmp/$strBackupFilename opt/asteriskBackupconfig | ||
/bin/tar -rvf /tmp/$strBackupFilename | /bin/tar -rvf /tmp/$strBackupFilename opt/op_panel-0.30/op_buttons.cfg | ||
/bin/tar -rvf /tmp/$strBackupFilename | /bin/tar -rvf /tmp/$strBackupFilename opt/op_panel-0.30/op_style.cfg | ||
/bin/tar -rvf /tmp/$strBackupFilename opt/op_panel-0.30/op_server.cfg | |||
/bin/tar -rvf /tmp/$strBackupFilename var/lib/asterisk/licenses/* | /bin/tar -rvf /tmp/$strBackupFilename var/lib/asterisk/licenses/* | ||
/bin/tar -rvf /tmp/$strBackupFilename usr/sbin/fax2mail | /bin/tar -rvf /tmp/$strBackupFilename usr/sbin/fax2mail | ||
Line 43: | Line 46: | ||
/bin/tar -rvf /tmp/$strBackupFilename etc/rc.local | /bin/tar -rvf /tmp/$strBackupFilename etc/rc.local | ||
/bin/tar -rvf /tmp/$strBackupFilename root/$strCurDate-asterisk.sql | /bin/tar -rvf /tmp/$strBackupFilename root/$strCurDate-asterisk.sql | ||
/bin/tar -rvf /tmp/$strBackupFilename root/$strCurDate-reverseau.sql | |||
# Gzip tar file to reduce size | # Gzip tar file to reduce size | ||
Line 59: | Line 63: | ||
/bin/rm -f /tmp/$strBackupFilename.gz | /bin/rm -f /tmp/$strBackupFilename.gz | ||
/bin/rm -f /root/$strCurDate- | /bin/rm -f /root/*sql | ||
</pre> | |||
'''NOTE''': For the script to connect to a Windows computer you must have the [[samba-client]] and cifs-utils install. | |||
== Raspberry Pi Image Backup == | |||
<pre> | |||
pacman -S --no-confirm smbclient cifs-utils | |||
</pre> | |||
<pre> | |||
mkdir /tmp/foldername | |||
strCurDate=$(date +%Y\-%m\-%d\ \(%H%M\)) | |||
mount -t cifs -o workgroup=workgroupname,username=username,password=password //192.168.13.11/asterisk /tmp/foldername | |||
dd if=/dev/mmcblk0 of="/tmp/foldername/$strCurDate-rpi.img" bs=1M | |||
umount /tmp/foldername | |||
rm -rf /tmp/foldername/ | |||
</pre> | </pre> | ||
[[Category : Asterisk]] | [[Category : Asterisk]] [[Category : Raspberry Pi]] |
Latest revision as of 06:23, 4 June 2013
This section details the way I currently backup my Asterisk server. The script will create a tar.gz file with all the required files and then copy them to a Windows computer where I can store/archive the backups. If I ever need to restore a file or rebuild the server I can easily restore the configuration by decompressing the tar.gz file.
Prerequisite
yum install samba-client cifs-utils
#!/bin/bash # Define configuration values here strSiteName="BackupFolder" strBackupServer="fileserver.home.local" strBackupFolder="sharename" strSambaUser="username" strSambaPass="password" strSambaDomain="domain" # *** DO NOT EDIT BELOW THIS LINE *** strCurDate=$(date +%Y%m%d%H%M) strBackupFilename="$strCurDate.tar" strBackupPath="//$strBackupServer/$strBackupFolder" mysqldump asteriskcdr >/root/$strCurDate-asterisk.sql mysqldump reverseau >/root/$strCurDate-reverseau.sql cd / /bin/tar -cvf /tmp/$strBackupFilename etc/dahdi/* /bin/tar -rvf /tmp/$strBackupFilename etc/asterisk/* /bin/tar -rvf /tmp/$strBackupFilename var/spool/asterisk/* /bin/tar -rvf /tmp/$strBackupFilename var/lib/asterisk/agi-bin/* /bin/tar -rvf /tmp/$strBackupFilename var/lib/asterisk/astdb /bin/tar -rvf /tmp/$strBackupFilename var/lib/asterisk/sounds/announce /bin/tar -rvf /tmp/$strBackupFilename var/lib/asterisk/sounds/ivr /bin/tar -rvf /tmp/$strBackupFilename var/log/asterisk/* /bin/tar -rvf /tmp/$strBackupFilename var/www/html/call-back/* /bin/tar -rvf /tmp/$strBackupFilename var/www/html/GoTalk.php /bin/tar -rvf /tmp/$strBackupFilename opt/asteriskBackupconfig /bin/tar -rvf /tmp/$strBackupFilename opt/op_panel-0.30/op_buttons.cfg /bin/tar -rvf /tmp/$strBackupFilename opt/op_panel-0.30/op_style.cfg /bin/tar -rvf /tmp/$strBackupFilename opt/op_panel-0.30/op_server.cfg /bin/tar -rvf /tmp/$strBackupFilename var/lib/asterisk/licenses/* /bin/tar -rvf /tmp/$strBackupFilename usr/sbin/fax2mail /bin/tar -rvf /tmp/$strBackupFilename etc/aliases /bin/tar -rvf /tmp/$strBackupFilename etc/logrotate.d/asterisk /bin/tar -rvf /tmp/$strBackupFilename etc/rc.local /bin/tar -rvf /tmp/$strBackupFilename root/$strCurDate-asterisk.sql /bin/tar -rvf /tmp/$strBackupFilename root/$strCurDate-reverseau.sql # Gzip tar file to reduce size /bin/gzip /tmp/$strBackupFilename # Make a mount point and mount the SMB server to it /bin/mkdir /tmp/smbmountpoint /bin/mount -t cifs -o workgroup=$strSambaDomain,username=$strSambaUser,password=$strSambaPass //$strBackupServer/$strBackupFolder /tmp/smbmountpoint # Move the backup file into the $strSiteName folder /bin/mv /tmp/$strBackupFilename.gz /tmp/smbmountpoint/$strSiteName/ # Clean up by unmounting mount point and deleting temporary files /bin/umount /tmp/smbmountpoint /bin/rmdir /tmp/smbmountpoint /bin/rm -f /tmp/$strBackupFilename.gz /bin/rm -f /root/*sql
NOTE: For the script to connect to a Windows computer you must have the samba-client and cifs-utils install.
Raspberry Pi Image Backup
pacman -S --no-confirm smbclient cifs-utils
mkdir /tmp/foldername strCurDate=$(date +%Y\-%m\-%d\ \(%H%M\)) mount -t cifs -o workgroup=workgroupname,username=username,password=password //192.168.13.11/asterisk /tmp/foldername dd if=/dev/mmcblk0 of="/tmp/foldername/$strCurDate-rpi.img" bs=1M umount /tmp/foldername rm -rf /tmp/foldername/