linux脚本创建及移动的简单操作:
目的:在/system目录建立一个包含启动/停止sh脚本的.service脚本文件(service脚本文件嵌套sh脚本文件)
首先编写sh脚本文件:
1.预先在txt中编辑好目标sh脚本文件:
start.sh:
#!/bin/bash
CMD_PATH="/home/hawksoft/2.project/20210906-GY-ShJLL/java/hydrologyV2-2.0-SNAPSHOT.jar"
nohup java -jar ${CMD_PATH} --server.port=12070 > /home/hawksoft/2.project/20210906-GY-ShJLL/java/hydrologyRun.log &
ps -ef|grep ${CMD_PATH}
stop.sh:
#!/bin/sh
ps -ef | grep hydrologyV2-2.0-SNAPSHOT.jar | grep -v grep | awk '{print $2}' | xargs kill -9
编写后用chmod +x start.sh 命令讲sh脚本设置为可执行,否则service执行时会有问题。
2.在txt文件中写好内容后,修改txt后缀为.sh,手动拖入服务器可视化工具的自定义目标文件夹下。
然后编写.service脚本文件:
1.预先在txt中编辑好目标service脚本文件:
operate1.service:
[Unit]
Description=Visual Waterlevel of DaShengGuan
After=network.target
[Service]
Type=forking
ExecStart=/home/hawksoft/2.project/20210723-DaShengGuan-ShJShW/java/start.sh
ExecStop=/home/hawksoft/2.project/20210723-DaShengGuan-ShJShW/java/stop.sh
[Install]
WantedBy=multi-user.target
2.修改txt后缀为service,拖入/system目录下(root权限操作),如权限不够,尝试sudo修饰复制命令:
将.service文件放置于某临时目录,使用sudo cp…命令复制到/system。
sudo cp operate1.service /lib/systemd/system/operate1.service
完成后,执行.service脚本:
#执行
sudo systemctl status operate1.service
#查看状态
sudo systemctl status VisualWaterlevel_GY.service
注:如使用类似notepad++等文本编辑器编辑后在拖入服务器路径下时,要修改文件的编码格式为ascii以及文本格式为Unix(LF)。