diff -Nur smeserver-freepbx-13.old/createlinks smeserver-freepbx-13/createlinks --- smeserver-freepbx-13.old/createlinks 2016-06-13 08:03:08.000000000 -0400 +++ smeserver-freepbx-13/createlinks 2017-01-25 15:56:22.776000000 -0500 @@ -39,9 +39,11 @@ templates2events("/etc/e-smith/sql/init/30freepbx_mysql_create_database", qw(freepbx-update bootstrap-console-save)); event_link("freepbx-checkinstall", $event, "10"); +event_link("freepbx-checkinstall-backup", $event, "11"); event_link("freepbx-amportal.conf", $event, "91"); event_link("freepbx-clean-crontab", $event, "40"); event_link("freepbx-dump-astdb", "pre-backup", "30"); +event_link("freepbx-backup", "pre-backup", "31"); safe_symlink("restart", "root/etc/e-smith/events/$event/services2adjust/mysql.init"); safe_symlink("sigusr1", "root/etc/e-smith/events/$event/services2adjust/httpd-e-smith"); diff -Nur smeserver-freepbx-13.old/root/etc/asterisk/freepbx_chown.conf smeserver-freepbx-13/root/etc/asterisk/freepbx_chown.conf --- smeserver-freepbx-13.old/root/etc/asterisk/freepbx_chown.conf 2017-01-25 15:45:49.144000000 -0500 +++ smeserver-freepbx-13/root/etc/asterisk/freepbx_chown.conf 2017-01-25 16:05:42.195000000 -0500 @@ -1,2 +1,5 @@ [blacklist] directory = /tmp/ +[custom] +rdir = /home/e-smith/files/freepbx,0750,asterisk,asterisk + diff -Nur smeserver-freepbx-13.old/root/etc/e-smith/events/actions/freepbx-backup smeserver-freepbx-13/root/etc/e-smith/events/actions/freepbx-backup --- smeserver-freepbx-13.old/root/etc/e-smith/events/actions/freepbx-backup 1969-12-31 19:00:00.000000000 -0500 +++ smeserver-freepbx-13/root/etc/e-smith/events/actions/freepbx-backup 2017-01-25 15:47:41.342000000 -0500 @@ -0,0 +1,3 @@ +#!/bin/bash + +su asterisk -s /bin/bash -c 'php /var/lib/asterisk/bin/backup.php --id=1' diff -Nur smeserver-freepbx-13.old/root/etc/e-smith/events/actions/freepbx-checkinstall-backup smeserver-freepbx-13/root/etc/e-smith/events/actions/freepbx-checkinstall-backup --- smeserver-freepbx-13.old/root/etc/e-smith/events/actions/freepbx-checkinstall-backup 1969-12-31 19:00:00.000000000 -0500 +++ smeserver-freepbx-13/root/etc/e-smith/events/actions/freepbx-checkinstall-backup 2017-01-25 16:06:20.613000000 -0500 @@ -0,0 +1,72 @@ +#!/bin/sh + +DBNAME=$(/sbin/e-smith/db configuration getprop freepbx DbName) +backuppath='/home/e-smith/files/freepbx' + +# check if backup module is enabled and running +# if not solve this... +if [[ ! `/usr/sbin/fwconsole ma list|/bin/grep backup|/bin/grep Enabled` ]] ; then + + if [[ ! `/usr/sbin/fwconsole ma list|/bin/grep backup` ]] ;then + /usr/sbin/fwconsole ma download backup -R standard -R extended 2>&1 >/dev/null + /usr/sbin/fwconsole ma install backup -R standard -R extended 2>&1 >/dev/null + fi + + if [[ `/usr/sbin/fwconsole ma list|/bin/grep backup| grep 'Not Installed'` ]] ;then + /usr/sbin/fwconsole ma install backup -R standard -R extended 2>&1 >/dev/null + fi + + if [[ `/usr/sbin/fwconsole ma list|/bin/grep backup|/bin/grep Disabled` ]] ; then + /usr/sbin/fwconsole ma enable backup 2>&1 >/dev/null + fi + + /usr/sbin/fwconsole r +fi + +# check our freepbx backup folder is there and accessible +if [[ ! -d $backuppath ]] ; then + /bin/mkdir -p $backuppath +fi + +# set first backup as the one for SME way +# set destination +mysql -e "use $DBNAME;UPDATE backup_server_details set value = '/home/e-smith/files/freepbx' WHERE server_id = 1;" +# set info for backup 1 +#data = a:1:{s:10:"created_by";s:11:"install.php";} +mysql -e "use $DBNAME;INSERT INTO backup (\`id\`, \`name\`, \`description\` , \`immortal\` ,\`data\`, \`email\` ) VALUES (1, 'Default backup', 'Default SME PBX backup; automatically installed', 'true','', 'admin' ) ON DUPLICATE KEY UPDATE \`description\` = 'Default SME PBX backup; automatically installed', \`immortal\` = 'true', \`email\` = 'admin' , \`name\`= 'Default backup' ;" + +mysql -e "use $DBNAME;ALTER TABLE backup_details ADD UNIQUE uniq ( \`backup_id\` , \`key\` , \`index\` ) ;" +mysql -e "use $DBNAME;INSERT INTO backup_details (\`backup_id\`, \`key\`, \`index\`, \`value\`) VALUES +(1, 'delete_time_type', '', 'days'), +(1, 'delete_amount', '', '2'), +(1, 'desc', '', 'Default SME PBX backup; automatically installed'), +(1, 'cron_schedule', '', 'weekly'), +(1, 'cron_random', '', 'on'), +(1, 'cron_month', '', ''), +(1, 'cron_minute', '', '0'), +(1, 'cron_hour', '', '0'), +(1, 'cron_dow', '', '0'), +(1, 'cron_dom', '', ''), +(1, 'bu_server', '', '0'), +(1, 'delete_time', '', '0'), +(1, 'email', '', 'admin'), +(1, 'emailfailonly', '', '1'), +(1, 'storage_servers', '0', '1') ON DUPLICATE KEY UPDATE \`value\`=VALUES(\`value\`) ;" +mysql -e "use $DBNAME;ALTER TABLE backup_details DROP INDEX uniq;" +# set what to backup +mysql -e "use $DBNAME;ALTER TABLE backup_items ADD UNIQUE \`uniq\` ( \`backup_id\` , \`type\` , \`path\` ( 15 ) ) ;" +mysql -e "use freepbxdb;INSERT INTO backup_items (\`backup_id\`, \`type\`, \`path\`, \`exclude\`) VALUES +(1, 'dir', '/etc/dahdi', 'a:0:{}'), + (1, 'dir', '__ASTSPOOLDIR__/voicemail', 'a:0:{}'), +(1, 'mysql', 'server-2', 'a:0:{}'), +(1, 'astdb', 'astdb', 'a:0:{}'), +(1, 'mysql', 'server-3', 'a:0:{}'), +(1, 'dir', '__ASTETCDIR__', 'a:0:{}'), +(1, 'dir', '__AMPWEBROOT__', 'a:0:{}'), +(1, 'dir', '__AMPBIN__', 'a:0:{}'), +(1, 'dir', '/tftpboot', 'a:0:{}') ON DUPLICATE KEY UPDATE \`exclude\`=VALUES(\`exclude\`) ;"; +mysql -e "use $DBNAME;ALTER TABLE backup_items DROP INDEX \`uniq\` ;" + +# make sure all perms are ok for backup +/usr/sbin/fwconsole chown 2>&1 >/dev/null +