Skip to content

Instantly share code, notes, and snippets.

@amanjuman
Last active April 19, 2025 00:58
Show Gist options
  • Save amanjuman/67f7dd75d4766ad87eb588639ab58a1d to your computer and use it in GitHub Desktop.
Save amanjuman/67f7dd75d4766ad87eb588639ab58a1d to your computer and use it in GitHub Desktop.
3CX Recordings to S3 Backup
## For 3CX backup
sudo nano /opt/3cx-server-s3-backup.sh
#!/bin/bash
DATE=`date +%Y-%m-%d_%Hh%Mm%Ss`
echo "------------ start S3 Move $DATE" >> /var/log/3cx-server-s3-backup.log
sudo /usr/bin/aws s3 mv /var/lib/3cxpbx/Instance1/Data/Backups/* s3://bucket-name/3cx-backup/ --recursive --storage-class STANDARD_IA >> /var/log/3cx-server-s3-backup.log
DATE=`date +%Y-%m-%d_%Hh%Mm%Ss`
echo "------------ end S3 Move $DATE" >> /var/log/3cx-server-s3-backup.log
sudo chmod +x /opt/3cx-server-s3-backup.sh
## For recordings
sudo nano /opt/3cx-recordings-s3-backup.sh
#!/bin/bash
DATE=`date +%Y-%m-%d_%Hh%Mm%Ss`
echo "------------ start S3 Move $DATE" >> /var/log/3cx-recordings-s3-backup.log
sudo /usr/bin/aws s3 mv /var/lib/3cxpbx/Instance1/Data/Recordings/ s3://bucket-name/3cx-recordings/ --recursive --storage-class STANDARD_IA >> /var/log/3cx-recordings-s3-backup.log
DATE=`date +%Y-%m-%d_%Hh%Mm%Ss`
echo "------------ end S3 Move $DATE" >> /var/log/3cx-recordings-s3-backup.log
sudo chmod +x /opt/3cx-recordings-s3-backup.sh
crontab -e
0 0 * * * sh /opt/3cx-recordings-s3-backup.sh > s3-backup.log
0 0 * * 0 sh /opt/3cx-server-s3-backup.sh > s3-backup.log
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment