diff --git a/ubuntu/resources/backup/fusionpbx-maintenance b/ubuntu/resources/backup/fusionpbx-maintenance index f395de3..bf4317b 100755 --- a/ubuntu/resources/backup/fusionpbx-maintenance +++ b/ubuntu/resources/backup/fusionpbx-maintenance @@ -6,61 +6,95 @@ db_host=127.0.0.1 db_port=5432 switch_package=true # true or false +purge_voicemail=false +purge_recordings=false +purge_cdrs=false +purge_fax=false +purge_fslogs=false + +days_keep_voicemail=90 +days_keep_recordings=90 +days_keep_cdrs=90 +days_keep_fax=90 +days_keep_fslogs=7 #set the date now=$(date +%Y-%m-%d) #make sure the directory exists -mkdir -p /var/backups/fusionpbx/postgresql +if [ -e /var/backups/fusionpbx/postgresql ]; then + echo "postgres backup directory exists" +else + mkdir -p /var/backups/fusionpbx/postgresql +fi #show message to the console echo "Maintenance Started" -#delete freeswitch logs older 7 days -if [ .$switch_package = .true ]; then - find /var/log/freeswitch/freeswitch.log.* -mtime +7 -exec rm {} \; +if [ .$purge_fslogs = .true ]; then + #delete freeswitch logs older 7 days + if [ .$switch_package = .true ]; then + find /var/log/freeswitch/freeswitch.log.* -mtime +$days_keep_fslogs -exec rm {} \; + else + find /usr/local/freeswitch/log/freeswitch.log.* -mtime +$days_keep_fslogs -exec rm {} \; + fi else - find /usr/local/freeswitch/log/freeswitch.log.* -mtime +7 -exec rm {} \; + echo "not purging Freeswitch logs" fi -#delete fax older than 90 days -if [ .$switch_package = .true ]; then - echo "."; - #find /var/lib/freeswitch/storage/fax/* -name '*.tif' -mtime +90 -exec rm {} \; - #find /var/lib/freeswitch/storage/fax/* -name '*.pdf' -mtime +90 -exec rm {} \; +if [ .$purge_fax = .true]; then + #delete fax older than 90 days + if [ .$switch_package = .true ]; then + echo "."; + #find /var/lib/freeswitch/storage/fax/* -name '*.tif' -mtime +$days_keep_fax -exec rm {} \; + #find /var/lib/freeswitch/storage/fax/* -name '*.pdf' -mtime +$days_keep_fax -exec rm {} \; + else + echo "."; + #find /usr/local/freeswitch/storage/fax/* -name '*.tif' -mtime +$days_keep_fax -exec rm {} \; + #find /usr/local/freeswitch/storage/fax/* -name '*.pdf' -mtime +$days_keep_fax -exec rm {} \; + fi + #delete from the database + #psql --host=127.0.0.1 --username=fusionpbx -c "delete from v_fax_files WHERE fax_date < NOW() - INTERVAL '$days_keep_fax days'" + #psql --host=127.0.0.1 --username=fusionpbx -c "delete from v_fax_logs WHERE fax_date < NOW() - INTERVAL '$days_keep_fax days'" else - echo "."; - #find /usr/local/freeswitch/storage/fax/* -name '*.tif' -mtime +90 -exec rm {} \; - #find /usr/local/freeswitch/storage/fax/* -name '*.pdf' -mtime +90 -exec rm {} \; + echo "not purging Faxes" fi -#delete from the database -#psql --host=127.0.0.1 --username=fusionpbx -c "delete from v_fax_files WHERE fax_date < NOW() - INTERVAL '90 days'" -#psql --host=127.0.0.1 --username=fusionpbx -c "delete from v_fax_logs WHERE fax_date < NOW() - INTERVAL '90 days'" -#delete call recordings older than 90 days -if [ .$switch_package = .true ]; then - find /var/lib/freeswitch/recordings/*/archive/* -name '*.wav' -mtime +90 -exec rm {} \; - find /var/lib/freeswitch/recordings/*/archive/* -name '*.mp3' -mtime +90 -exec rm {} \; +if [ .$purge_recordings = .true ]; then + #delete call recordings older than 90 days + if [ .$switch_package = .true ]; then + find /var/lib/freeswitch/recordings/*/archive/* -name '*.wav' -mtime +$days_keep_recordings -exec rm {} \; + find /var/lib/freeswitch/recordings/*/archive/* -name '*.mp3' -mtime +$days_keep_recordings -exec rm {} \; + else + find /usr/local/freeswitch/recordings/*/archive/* -name '*.wav' -mtime +$days_keep_recordings -exec rm {} \; + find /usr/local/freeswitch/recordings/*/archive/* -name '*.mp3' -mtime +$days_keep_recordings -exec rm {} \; + fi + psql --host=127.0.0.1 --username=fusionpbx -c "delete from v_call_recordings WHERE call_recording_date < NOW() - INTERVAL '90 days'" else - find /usr/local/freeswitch/recordings/*/archive/* -name '*.wav' -mtime +90 -exec rm {} \; - find /usr/local/freeswitch/recordings/*/archive/* -name '*.mp3' -mtime +90 -exec rm {} \; + echo "not purging Recordings." fi -psql --host=127.0.0.1 --username=fusionpbx -c "delete from v_call_recordings WHERE call_recording_date < NOW() - INTERVAL '90 days'" - -#delete voicemail older than 90 days -if [ .$switch_package = .true ]; then - echo "."; - #find /var/lib/freeswitch/storage/voicemail/default/* -name 'msg_*.wav' -mtime +90 -exec rm {} \; - #find /var/lib/freeswitch/storage/voicemail/default/* -name 'msg_*.mp3' -mtime +90 -exec rm {} \; +if [ .$purge_voicemail = .true ]; then + #delete voicemail older than 90 days + if [ .$switch_package = .true ]; then + echo "."; + #find /var/lib/freeswitch/storage/voicemail/default/* -name 'msg_*.wav' -mtime +$days_keep_voicemail -exec rm {} \; + #find /var/lib/freeswitch/storage/voicemail/default/* -name 'msg_*.mp3' -mtime +$days_keep_voicemail -exec rm {} \; + else + echo "."; + #find /usr/local/freeswitch/storage/voicemail/* -name 'msg_*.wav' -mtime +$days_keep_voicemail -exec rm {} \; + #find /usr/local/freeswitch/storage/voicemail/* -name 'msg_*.mp3' -mtime +$days_keep_voicemail -exec rm {} \; + fi + #psql --host=127.0.0.1 --username=fusionpbx -c "delete from v_voicemail_messages WHERE to_timestamp(created_epoch) < NOW() - INTERVAL '$days_keep_voicemail days'" else - echo "."; - #find /usr/local/freeswitch/storage/voicemail/* -name 'msg_*.wav' -mtime +90 -exec rm {} \; - #find /usr/local/freeswitch/storage/voicemail/* -name 'msg_*.mp3' -mtime +90 -exec rm {} \; + echo "not purging voicemails." fi -#psql --host=127.0.0.1 --username=fusionpbx -c "delete from v_voicemail_messages WHERE to_timestamp(created_epoch) < NOW() - INTERVAL '90 days'" -#delete call detail records older 90 days -#psql --host=127.0.0.1 --username=fusionpbx -c "delete from v_xml_cdr WHERE start_stamp < NOW() - INTERVAL '90 days'" +if [ .$purge_cdrs = .true ]; then + #delete call detail records older 90 days + #psql --host=127.0.0.1 --username=fusionpbx -c "delete from v_xml_cdr WHERE start_stamp < NOW() - INTERVAL '$days_keep_cdrs days'" +else + echo "not purging CDRs." +fi #completed message echo "Maintenance Completed";