前端迁移 项目
压缩
1 tar -czvf school.tar.gz school
目标服务器
1 mkdir -p /data/web_front
解压
1 2 tar -xzvf school.tar.gz -C /data/web_front cd /data/web_front/school
Nginx 前端 _school.xhkjedu.com.conf
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 server { listen 80 ; server_name school.xhkjedu.com; return 301 https://$host $request_uri ; } server { server_name school.xhkjedu.com; client_max_body_size 200m ; listen 443 ssl; ssl_certificate /etc/nginx/cert/xhkjedu.pem; ssl_certificate_key /etc/nginx/cert/xhkjedu.key; ssl_session_timeout 5m ; ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; ssl_protocols TLSv1 TLSv1.1 TLSv1.2 ; ssl_prefer_server_ciphers on ; root /data/web_front/school/; index index.html; client_body_buffer_size 128k ; proxy_connect_timeout 300s ; proxy_send_timeout 300s ; proxy_read_timeout 300s ; proxy_busy_buffers_size 64k ; proxy_temp_file_write_size 64k ; proxy_buffer_size 64k ; proxy_buffers 8 64k ; send_timeout 60 ; location ~ .*\.(html)$ { add_header Cache-Control no -store; } }
接口 2_8301_schoolapi.xhkjedu.com.conf
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 upstream schoolapi_xhkjedu { server 172.24.197.9:8301 ; } server { listen 80 ; server_name schoolapi.xhkjedu.com; listen 443 ssl; ssl_certificate /etc/nginx/cert/xhkjedu.pem; ssl_certificate_key /etc/nginx/cert/xhkjedu.key; ssl_session_timeout 5m ; ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; ssl_protocols TLSv1 TLSv1.1 TLSv1.2 ; ssl_prefer_server_ciphers on ; location /appversion/get_new { proxy_pass https://schoolapi.xhkjedu.com/sapi/appversion/get_new; } location /appclient/get_new { proxy_pass https://schoolapi.xhkjedu.com/sapi/appclient/get_new; } location /apprecord/get_new { proxy_pass https://schoolapi.xhkjedu.com/sapi/apprecord/get_new; } location /appteacher/get_new { proxy_pass https://schoolapi.xhkjedu.com/sapi/appteacher/get_new; } location /apppc/get_new { proxy_pass https://schoolapi.xhkjedu.com/sapi/apppc/get_new; } location /apppc_stu/get_new { proxy_pass https://schoolapi.xhkjedu.com/sapi/apppc_stu/get_new; } location /user/login_teacher { proxy_pass https://schoolapi.xhkjedu.com/suser/user/login_teacher; } location /user/loginstu { proxy_pass https://schoolapi.xhkjedu.com/suser/user/loginstu; proxy_set_header Host $host ; proxy_set_header X-Real-IP $remote_addr ; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for ; } location /class_student/stu_class { proxy_pass https://schoolapi.xhkjedu.com/suser/class_student/stu_class; } location /user/check_login { proxy_pass https://schoolapi.xhkjedu.com/suser/user/check_login; } location /module/treelst { proxy_pass https://schoolapi.xhkjedu.com/sapi/module/treelst; } location /ps/list_todo_num { proxy_pass https://schoolapi.xhkjedu.com/sapi/std/td_num; } location / { proxy_pass http://schoolapi_xhkjedu/; proxy_cookie_path / /; proxy_redirect / /; proxy_set_header Host $host ; proxy_set_header X-Real-IP $remote_addr ; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for ; client_max_body_size 1000m ; client_body_buffer_size 128k ; client_body_timeout 5m ; proxy_connect_timeout 300s ; proxy_send_timeout 300s ; proxy_read_timeout 300s ; proxy_busy_buffers_size 64k ; proxy_temp_file_write_size 64k ; proxy_buffer_size 64k ; proxy_buffers 8 64k ; fastcgi_buffer_size 128k ; fastcgi_buffers 4 128k ; send_timeout 20s ; } }
文件 8908_schoolfile.xhkjedu.com.conf
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 upstream schoolfile_xhkjedu { server 172.24.197.13:8908 ; } server { listen 80 ; server_name schoolfile.xhkjedu.com; listen 443 ssl; ssl_certificate /etc/nginx/cert/xhkjedu.pem; ssl_certificate_key /etc/nginx/cert/xhkjedu.key; ssl_session_timeout 5m ; ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; ssl_protocols TLSv1 TLSv1.1 TLSv1.2 ; ssl_prefer_server_ciphers on ; charset utf-8 ; location /download/ { add_header 'Access-Control-Allow-Origin' '*' ; add_header 'Access-Control-Allow-Credentials' 'true' ; add_header 'Content-Type' 'application/octet-stream' ; alias /data/wwwjarapi/8908schoolfile/static/; } location ~* /static { add_header 'Access-Control-Allow-Origin' '*' ; add_header 'Access-Control-Allow-Credentials' 'true' ; root /data/wwwjarapi/8908schoolfile/; } location / { proxy_pass http://schoolfile_xhkjedu/; proxy_cookie_path / /; proxy_redirect / /; proxy_set_header Host $host ; proxy_set_header X-Real-IP $remote_addr ; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for ; client_max_body_size 1000m ; client_body_buffer_size 128k ; client_body_timeout 5m ; proxy_connect_timeout 300s ; proxy_send_timeout 300s ; proxy_read_timeout 300s ; proxy_busy_buffers_size 64k ; proxy_temp_file_write_size 64k ; proxy_buffer_size 64k ; proxy_buffers 8 64k ; fastcgi_buffer_size 128k ; fastcgi_buffers 4 128k ; send_timeout 20s ; } }
MYSQL迁移 数据库本地复制 这里复制数据库是为了在迁移前删除不要的数据。
导出源数据库 : 使用mysqldump命令将源数据库导出到一个SQL文件中。
假设源数据库名为xhkjedu_school,目标数据库名为xhkjedu_school_20241107,你可以使用以下命令:
1 mysqldump -u root -p xhkjedu_school > xhkjedu_school.sql
这里的username是你的MySQL用户名。执行命令后,你会被提示输入密码。
创建目标数据库 (如果目标数据库不存在): 使用mysql命令创建目标数据库。
如果目标数据库已经存在,可以跳过这一步。
1 mysql -u root -p -e "CREATE DATABASE xhkjedu_school_20241107;"
导入数据到目标数据库 : 使用mysql命令将导出的SQL文件导入到目标数据库中。
1 mysql -u root -p xhkjedu_school_20241107 < xhkjedu_school.sql
处理数据 删除部分表数据
1 2 3 4 5 6 7 SELECT concat( 'delete from ' , TABLE_SCHEMA, '.' , TABLE_name, ';' ) FROM information_schema.TABLES WHERE TABLE_SCHEMA = 'xhkjedu_school_20241107' AND TABLE_NAME LIKE 'e_%' ;
查看表数据大小
1 2 3 4 5 6 7 8 9 10 11 12 SELECT TABLE_SCHEMA AS '数据库名' , TABLE_NAME AS '表名' , ROUND(DATA_LENGTH / 1024 / 1024, 2) AS '数据大小(MB)' , ROUND(INDEX_LENGTH / 1024 / 1024, 2) AS '索引大小(MB)' , ROUND((DATA_LENGTH + INDEX_LENGTH) / 1024 / 1024 , 2 ) AS '总大小(MB)' FROM information_schema.TABLES WHERE TABLE_SCHEMA = 'xhkjedu_school_20241107' ORDER BY (DATA_LENGTH + INDEX_LENGTH) DESC;
处理数据后导出
1 mysqldump -u root -p xhkjedu_school_20241107 > xhkjedu_school_20241107.sql
导入PolarDB 1 2 3 mysql -h127.0.0.1 -P4886 -u root -e "CREATE DATABASE xhkjedu_school;" mysql -h127.0.0.1 -P4886 -u root xhkjedu_school < xhkjedu_school_20241107.sql
压缩与解压 压缩
1 tar -czvf xhkjedu_school.sql.tar.gz xhkjedu_school.sql
压缩基本可以节约一半多点的空间
解压
1 tar -xzvf xhkjedu_school.sql.tar.gz
服务器间复制 从本地复制到远程
复制单个文件
1 scp /data/db/testdb.sql root@111.111.111.111:/data/db/testdb.sql
复制目录
1 scp -r /data/db/* root@111.111.111.111:/data/db/
查看数据行数 生成查询各表条数的SQL
1 2 3 4 5 6 7 8 9 10 select concat( 'select "' , TABLE_name, '", count(*) from ' , TABLE_SCHEMA, '.' , TABLE_name, ' union ' ) from information_schema.tables where TABLE_SCHEMA= 'xhkjedu_school_20241107' ;
把查询出来的结果整体复制后 删除最后一个union 整体全选运行即可
人大金仓迁移 添加软链
1 2 ln -s /data/db/Kingbase/KESRealPro/V009R003C011/Server/bin/sys_dump /usr/bin/sys_dumpln -s /data/db/Kingbase/KESRealPro/V009R003C011/Server/bin/sys_restore /usr/bin/sys_restore
SQL导出导入 导出SQL 1 sys_dump -U root -d xhkjedu_school_zm -F p -f /root/xhkjedu_school_zm.sql
导入 SQL 连接
创建数据库
1 CREATE DATABASE xhkjedu_school_zm ENCODING 'UTF8' TEMPLATE template0;
退出 ksql 创建数据库完成后,使用 \l 命令查看数据库列表,可使用 \q 命令退出 ksql 交互界面。
导入
如果之前使用 sys_dump 导出的是 SQL 脚本,可以使用 psql 工具将其导入到目标数据库中。
1 ksql -U system -d xhkjedu_school_zm -f /root/xhkjedu_school_zm.sql
其中
-U username:指定数据库的用户名。
-d dbname:指定要导入数据的数据库名称。
-f /path/to/output.sql:指定要导入的 SQL 脚本文件的路径。
修改配置
1 find . -type f -name "application.properties" -exec sed -i 's/xhkjedu_school?currentSchema=xhkjedu_school/xhkjedu_school_zm?currentSchema=xhkjedu_school_zm/g' {} \;
压缩与解压 压缩
1 tar -czvf xhkjedu_school.sql.tar.gz xhkjedu_school.sql
压缩基本可以节约一半多点的空间
解压
1 tar -xzvf xhkjedu_school.sql.tar.gz
服务迁移 迁移Jar 1 2 3 cd /data/wwwjarapicp -r schoolcloudapi schoolcloudapi_bak
进入备份目录
删除日志文件
1 2 3 find . -type f -name "*log.txt" -exec rm -f {} \; find . -type f -name "*.gz" -exec rm -f {} \; find . -type f -name "*.tmp" -exec rm -f {} \;
压缩文件夹
1 2 cd ../tar -czvf schoolcloudapi_bak.tar.gz schoolcloudapi_bak
目标服务器
1 mkdir -p /data/wwwjarapi
解压
1 tar -xzvf schoolcloudapi_bak.tar.gz -C /data/wwwjarapi
解压
1 2 cd /data/wwwjarapimv schoolcloudapi_bak schoolcloudapi
修改权限
1 find . -type f -name "*.jar" -exec chmod +x {} \;
迁移服务
压缩需要的文件
1 tar -czvf mysh.tar.gz 83[0-9][0-9].sh
解压
1 2 3 cd /etc/init.dtar -xzvf mysh.tar.gz rm -rf mysh.tar.gz
注册服务 首先,添加为系统服务
开机自启动
进入目录
批量添加
1 2 3 for file in 83[0-9][0-9].sh; do chkconfig --add "$file " done
批量开机自启
1 2 3 for file in 83[0-9][0-9].sh; do chkconfig "$file " on done
查看服务
替换配置 文件字符替换
1 sed -i 's/Hello/Hi/g' example.txt
查找文件
1 find . -type f -name "application.properties"
批量替换
1 2 3 4 5 6 7 8 9 10 11 12 13 find . -type f -name "application.properties" -exec sed -i 's/172.24.197.12:54321/172.26.69.15:54321/g' {} \; find . -type f -name "application.properties" -exec sed -i 's/current.datasource=mysql/current.datasource=kingbase/g' {} \; find . -type f -name "application.properties" -exec sed -i 's/kingbase.username=root/kingbase.username=system/g' {} \; find . -type f -name "application.properties" -exec sed -i 's/cache.xhkjedu.com/172.26.69.11/g' {} \; find . -type f -name "application.properties" -exec sed -i 's/redis.password=xhkjedu_school#redis/redis.password=xhkjeduQAZwsx/g' {} \; find . -type f -name "application.properties" -exec sed -i 's/172.24.197.10/172.26.69.11/g' {} \; find . -type f -name "application.properties" -exec sed -i 's/schoolfile.xhkjedu.com/schoolfile.zmeduyun.cn/g' {} \;
查找
1 grep -r "豫ICP备18016292号-1" .
替换
1 find . -type f -name "*.html" -exec sed -i 's/豫ICP备18016292号-1/豫ICP备18016292号/g' {} \;