#!/bin/bash # # Name :restore_data.sh # Description : 恢复数据到待迁移主机 # Author : James # Version : 2.3 # Date :2025年10月20日 17:40 # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # Update # ● 添加crm-import目录 # ● 数据库备份添加删库参数 # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # migrate_dir="/home/migrate" zip_file="/home/backup_data.tar.gz" sql_file="$migrate_dir/alldatabase.sql" dbpw="sg6d9ybbnMv41SKT" echo -e "\n\033[1;32m远端系统执行中\033[0m" # 停止服务 /etc/init.d/ipccd stop /etc/init.d/freeswitch stop /etc/init.d/nginx stop /etc/init.d/php-fpm stop /etc/init.d/redis stop # 本机数据备份 rm -rf /home/ipcc.old/* /usr/local/freeswitch.old/* /var/www/web-v2/oem.old/* /usr/local/redis-5.0.4/run.old/* mkdir -p /home/ipcc.old /usr/local/freeswitch.old /var/www/web-v2/oem.old mv /home/ipcc/data/{audio,blacklist,callee,call-script,certification,electronic,hide-number-tmp-dir,inbound-plot,ivraudio,ivraudio1,knowledge-file,satisfaction,theTxtModel,upload-file,voice-notify-audio,crm-import} /home/ipcc.old/ mv /usr/local/freeswitch/{conf,db,sounds} /usr/local/freeswitch.old/ mv /var/www/web-v2/oem /var/www/web-v2/oem.old mv /usr/local/redis-5.0.4/run/dump.rdb /usr/local/redis-5.0.4/run.old echo "备份本机数据库" /usr/local/mysql/bin/mysqldump -uroot -p$dbpw --add-drop-database --all-databases >/home/mysql_$(date +%F).sql # 解压备份数据 mkdir -p $migrate_dir pigz -dc $zip_file | tar -xf - -C $migrate_dir # 数据恢复 mv $migrate_dir/{audio,blacklist,callee,call-script,certification,electronic,hide-number-tmp-dir,inbound-plot,ivraudio,ivraudio1,knowledge-file,satisfaction,theTxtModel,upload-file,voice-notify-audio,crm-import} /home/ipcc/data/ mv $migrate_dir/{conf,db,sounds} /usr/local/freeswitch/ mv $migrate_dir/oem /var/www/web-v2/ mv $migrate_dir/dump.rdb /usr/local/redis-5.0.4/run/ /usr/local/mysql/bin/mysql -uroot -p$dbpw <$sql_file && rm -rf $migrate_dir $zip_file mkdir -pv /home/ipcc/data/record-tmp chown nobody:nobody /home/ipcc/data/record-tmp chmod 777 /home/ipcc/data/record-tmp sh /ipcc/sbin/check-record-dir.sh &>/dev/null # 重启服务 /etc/init.d/freeswitch start /etc/init.d/nginx start /etc/init.d/php-fpm start /etc/init.d/redis start /etc/init.d/mysql restart /etc/init.d/ipccd start echo -e "\033[1;32m远端系统执行完毕\033[0m\n"