服务器服务迁移(通用)
删除日志
删除日志文件
1 | find . -type f -name "*log.txt" -exec rm -f {} \; |
压缩与解压
压缩
文件夹和文件命令一样
1 | tar -czvf wwwroot.tar.gz wwwroot |
压缩基本可以节约一半多点的空间
解压
1 | tar -xzvf wwwroot.tar.gz |
下载文件
1 | scp root@123.45.67.89:/data/wwwroot.tar.gz /data/ |
文件复制
scp 的核心功能之一就是支持双向传输,既可以上传本地文件到远程服务器,也可以将远程服务器上的文件安全地下载下来。
基本下载命令语法
从远程服务器下载文件到本地的基本命令格式如下:
1 | scp [选项] 用户名@远程服务器IP:远程文件路径 本地保存路径 |
下载文件
将远程服务器上的 file.txt 下载到本地的 /local/path/ 目录下:
1 | scp root@123.45.67.89:/remote/path/file.txt /local/path/ |
下载目录
如果需要下载远程的整个文件夹(包含里面的子文件和子目录),需要加上 -r 参数:
1 | scp -r root@123.45.67.89:/remote/folder/ /local/path/ |
指定端口
如果远程服务器的 SSH 端口不是默认的 22(例如改为了 2222),需要使用大写的 -P 参数来指定端口:
1 | scp -P 2222 root@123.45.67.89:/remote/path/file.txt /local/path/ |
使用密钥文件免密下载
如果你配置了 SSH 密钥认证,可以通过 -i 参数指定本地的私钥文件路径,实现免密码下载:
1 | scp -i ~/.ssh/id_rsa root@123.45.67.89:/remote/path/file.txt /local/path/ |
服务迁移
迁移Jar
1 | cd /data/wwwjarapi |
进入备份目录
1 | cd schoolcloudapi_bak |
压缩文件夹
1 | cd ../ |
目标服务器
1 | mkdir -p /data/wwwjarapi |
解压
1 | tar -xzvf schoolcloudapi_bak.tar.gz -C /data/wwwjarapi |
解压
1 | cd /data/wwwjarapi |
修改权限
1 | find . -type f -name "*.jar" -exec chmod +x {} \; |
迁移服务
1 | cd /etc/init.d |
压缩需要的文件
1 | tar -czvf mysh.tar.gz 83[0-9][0-9].sh |
解压
1 | cd /etc/init.d |
注册服务
首先,添加为系统服务
1 | chkconfig --add 8301.sh |
开机自启动
1 | chkconfig 8301.sh on |
进入目录
1 | cd /etc/init.d |
批量添加
1 | for file in 83[0-9][0-9].sh; do |
批量开机自启
1 | for file in 83[0-9][0-9].sh; do |
查看服务
1 | chkconfig --list |
替换配置
文件字符替换
1 | sed -i 's/Hello/Hi/g' example.txt |
查找文件
1 | find . -type f -name "application.properties" |
批量替换
1 | # 数据库 |
查找
1 | grep -r "豫ICP备18016292号-1" . |
替换
1 | find . -type f -name "*.html" -exec sed -i 's/豫ICP备12316292号-1/豫ICP备18016292号/g' {} \; |