45 lines
1.1 KiB
Bash
Executable File
45 lines
1.1 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
if [ -z "$1" ]; then
|
|
## Use config
|
|
backup_folder=~/libretime_backup/
|
|
else
|
|
## User arg as config
|
|
backup_folder=$1
|
|
fi
|
|
|
|
airtime_conf_path=/etc/airtime/airtime.conf
|
|
uploads_folder=/srv/airtime/stor/
|
|
|
|
psql_db=$(grep dbname ${airtime_conf_path} | awk '{print $3;}')
|
|
psql_user=$(grep dbuser ${airtime_conf_path} | awk '{print $3;}')
|
|
psql_password=$(grep dbpass ${airtime_conf_path} | awk '{print $3;}')
|
|
|
|
## Remove old backup
|
|
rm -rf "$backup_folder"
|
|
mkdir "$backup_folder"
|
|
|
|
## Backup of database
|
|
|
|
echo "db: Getting database..."
|
|
pg_dump --dbname="postgresql://$psql_user:$psql_password@localhost/$psql_db" > "${backup_folder}database"
|
|
echo "db: Complete"
|
|
|
|
## Backup of sounds
|
|
|
|
mkdir "${backup_folder}uploads/"
|
|
|
|
echo "stor : Copying uploaded files..."
|
|
rsync -r -a --info=progress2 $uploads_folder "${backup_folder}uploads/"
|
|
echo "stor: Complete"
|
|
|
|
## Backup of libretime config
|
|
|
|
mkdir "${backup_folder}airtime_config/"
|
|
|
|
echo "config: Copying config..."
|
|
rsync -r -a --info=progress2 /etc/airtime/ "${backup_folder}airtime_config/"
|
|
echo "config: Complete"
|
|
|
|
date >> "${backup_folder}datelog.txt"
|