多个命令如何通过crontab处理

时间:2021-06-06 08:00:16
各位好,我有个webservice,我想通过crontab每天定时重启下那个webservice,现在手工操作是这样的
lsof -i:8000
找到端口占用的PID,
然后再kill -9 PID
再进到cd /user
再启动webservice服务
nohup php /www/wan/websocket/websocket/server/server.php &
上面这些操作,如果我要通过crontab来实现,应该如何操作呢,非常感谢大家的帮忙

9 个解决方案

#1


lsof -n -i:80 -F p | grep -o '[0-9]\+' | xargs kill -9; cd /user; nohup php /www/wan/websocket/websocket/server/server.php &


crontab -e
然后设置定时操作上述命令即可。

#2


放脚本里一条一条跑就不错啊.

#3


版主,怎么放呀,是以什么结尾的文件?

#4


把命令写进一个SHELL文件里,然后再设置cron定时运行。

#5


lsof -n -i:80 -F p | grep -o '[0-9]\+' | xargs kill -9;
是什么意思呀,哪位能给我解释下,是不是获取端口号并删除?

#6


引用 5 楼 jxdyzwh 的回复:
lsof -n -i:80 -F p | grep -o '[0-9]\+' | xargs kill -9;
是什么意思呀,哪位能给我解释下,是不是获取端口号并删除?

这个就是你说的前三步:
lsof -i:8000
找到端口占用的PID,
然后再kill -9 PID

man lsof
man grep
man xargs
man kill

#7


哦,把端口改下
lsof -n -i:8000 -F p | grep -o '[0-9]\+' | xargs kill -9; cd /user; nohup php /www/wan/websocket/websocket/server/server.php &

#8


50 04 * * * /www/wanleke/websocket/websocket.sh >> /home/www/logs/websocket.log
websocket.sh的内容如下
lsof -n -i:8000 -F p | grep -o '[0-9]\+' | xargs kill -9; cd /user; nohup php /www/wan/websocket/websocket/server/server.php &
没错吧,我明天再看下服务器

#9


引用 8 楼 jxdyzwh 的回复:
50 04 * * * /www/wanleke/websocket/websocket.sh >> /home/www/logs/websocket.log
websocket.sh的内容如下
lsof -n -i:8000 -F p | grep -o '[0-9]\+' | xargs kill -9; cd /user; nohup php /www/wan/……

凌晨4点50,,设置应该没错
脚本的第一行应该加上#!/bin/sh
#!/bin/sh
lsof -n -i:8000 -F p | grep -o '[0-9]\+' | xargs kill -9; cd /user; nohup php /www/wan/websocket/websocket/server/server.php &

并设置脚本的可执行权限 sudo chmod a+x websocket.sh

#1


lsof -n -i:80 -F p | grep -o '[0-9]\+' | xargs kill -9; cd /user; nohup php /www/wan/websocket/websocket/server/server.php &


crontab -e
然后设置定时操作上述命令即可。

#2


放脚本里一条一条跑就不错啊.

#3


版主,怎么放呀,是以什么结尾的文件?

#4


把命令写进一个SHELL文件里,然后再设置cron定时运行。

#5


lsof -n -i:80 -F p | grep -o '[0-9]\+' | xargs kill -9;
是什么意思呀,哪位能给我解释下,是不是获取端口号并删除?

#6


引用 5 楼 jxdyzwh 的回复:
lsof -n -i:80 -F p | grep -o '[0-9]\+' | xargs kill -9;
是什么意思呀,哪位能给我解释下,是不是获取端口号并删除?

这个就是你说的前三步:
lsof -i:8000
找到端口占用的PID,
然后再kill -9 PID

man lsof
man grep
man xargs
man kill

#7


哦,把端口改下
lsof -n -i:8000 -F p | grep -o '[0-9]\+' | xargs kill -9; cd /user; nohup php /www/wan/websocket/websocket/server/server.php &

#8


50 04 * * * /www/wanleke/websocket/websocket.sh >> /home/www/logs/websocket.log
websocket.sh的内容如下
lsof -n -i:8000 -F p | grep -o '[0-9]\+' | xargs kill -9; cd /user; nohup php /www/wan/websocket/websocket/server/server.php &
没错吧,我明天再看下服务器

#9


引用 8 楼 jxdyzwh 的回复:
50 04 * * * /www/wanleke/websocket/websocket.sh >> /home/www/logs/websocket.log
websocket.sh的内容如下
lsof -n -i:8000 -F p | grep -o '[0-9]\+' | xargs kill -9; cd /user; nohup php /www/wan/……

凌晨4点50,,设置应该没错
脚本的第一行应该加上#!/bin/sh
#!/bin/sh
lsof -n -i:8000 -F p | grep -o '[0-9]\+' | xargs kill -9; cd /user; nohup php /www/wan/websocket/websocket/server/server.php &

并设置脚本的可执行权限 sudo chmod a+x websocket.sh