浏览代码

Update restore.rst

Len 8 年之前
父节点
当前提交
9d8b7457aa
共有 1 个文件被更改,包括 47 次插入0 次删除
  1. 47 0
      source/getting_started/restore.rst

+ 47 - 0
source/getting_started/restore.rst

@@ -8,6 +8,53 @@ It's always good to have a restore method of a backup in place.  Here are the st
 
 
 .. Note:: It is important to know if your installation is from package or source as the paths are different for FreeSWITCH.  Always test the backups and restore methods on test machines first.
 .. Note:: It is important to know if your installation is from package or source as the paths are different for FreeSWITCH.  Always test the backups and restore methods on test machines first.
 
 
+*  To create the script use an editor such as vi or nano.
+*  Copy/Paste from the code block below and save the file as fusionpbx-restore.sh
+*  Replace xxx with your database password
+*  chmod + x fusionpbx-restore.sh and then run the script ./fusionpbx-restore.sh
+*  edit the script as needed and run this script from the server you are restoring on.
 
 
 
 
+::
+
+ #!/bin/sh
+ now=$(date +%Y-%m-%d)
+ ssh_server=x.x.x.x
+ database_host=127.0.0.1
+ database_port=5432
+ export PGPASSWORD="zzz"
+
+ #run the remote backup
+ ssh -p 22 root@$ssh_server "nice -n -20 /etc/cron.daily/./fusionpbx-backup.sh"
+
+ #delete freeswitch logs older 7 days
+ find /var/log/freeswitch/freeswitch.log.* -mtime +7 -exec rm {} \;
+
+ #synchronize the backup directory
+ #rsync -avz -e 'ssh -p 22' root@$ssh_server:/var/backups/fusionpbx /var/backups
+ rsync -avz -e 'ssh -p 22' root@$ssh_server:/var/backups/fusionpbx/postgresql /var/backups/fusionpbx
+ rsync -avz -e 'ssh -p 22' root@$ssh_server:/var/www/fusionpbx /var/www
+ rsync -avz -e 'ssh -p 22' root@$ssh_server:/etc/fusionpbx /etc
+ find /var/backups/fusionpbx/postgresql -mtime +2 -exec rm {} \;
+
+ rsync -avz -e 'ssh -p 22' root@$ssh_server:/etc/freeswitch/ /etc
+ rsync -avz -e 'ssh -p 22' root@$ssh_server:/var/lib/freeswitch/storage /var/lib/freeswitch
+ rsync -avz -e 'ssh -p 22' root@$ssh_server:/var/lib/freeswitch/scripts /var/lib/freeswitch
+ rsync -avz -e 'ssh -p 22' root@$ssh_server:/var/lib/freeswitch/sounds /var/lib/freeswitch
+ rsync -avz -e 'ssh -p 22' root@$ssh_server:/var/lib/freeswitch/recordings /var/lib/freeswitch
+
+ echo "Restoring the Backup"
+ #extract the backup from the tgz file
+ #tar -xvpzf /var/backups/fusionpbx/backup_$now.tgz -C /
+
+ #remove the old database
+ psql --host=$database_host --port=$database_port  --username=fusionpbx -c 'drop schema public cascade;'
+ psql --host=$database_host --port=$database_port  --username=fusionpbx -c 'create schema public;'
+ #restore the database
+ pg_restore -v -Fc --host=$database_host --port=$database_port --dbname=fusionpbx --username=fusionpbx /var/backups/fusionpbx/postgresql/fusionpbx_pgsql_$now.sql
+
+ #restart freeswitch
+ service freeswitch restart
+ echo "Restore Complete";
+