What to Back Up
| Data | Location | Method |
|---|---|---|
| ICTCore config | /usr/ictcore/etc/ |
File copy |
| ICTCore DB | MariaDB ictfax |
mysqldump |
| ICTCore PBX DB | PostgreSQL fusionpbx |
pg_dump |
| FreeSWITCH config | /etc/freeswitch/ |
File copy |
| Recordings | /var/lib/freeswitch/recordings/ |
File copy |
| Voicemail | /var/lib/freeswitch/storage/voicemail/ |
File copy |
| Frontend build | /usr/ictpbxx/ |
File copy |
Backup Commands
MariaDB (ICTCore)
mysqldump -u root ictfax > /backup/ictfax_$(date +%Y%m%d).sql
PostgreSQL (ICTCore PBX)
PGPASSWORD=”” pg_dump -h 127.0.0.1 -U fusionpbx fusionpbx > /backup/ictpbx_$(date +%Y%m%d).sql
FreeSWITCH config
tar czf /backup/freeswitch_$(date +%Y%m%d).tar.gz /etc/freeswitch/
Recordings & Voicemail
tar czf /backup/media_$(date +%Y%m%d).tar.gz /var/lib/freeswitch/recordings/ /var/lib/freeswitch/storage/voicemail/
Restore Commands
MariaDB
mysql -u root ictfax < /backup/ictfax_20240101.sql
PostgreSQL (ICTCore PBX)
PGPASSWORD=”” psql -h 127.0.0.1 -U fusionpbx fusionpbx < /backup/ictpbx_20240101.sql
Recommended Schedule
| Backup | Frequency |
|---|---|
| Full DB dump | Daily, retain 7 days |
| Config files | Weekly |
| Recordings | Weekly or on-demand |
Tip: Automate with Cron
crontab -e
Add: 0 2 * /usr/local/bin/ictpbx-backup.sh