linux下运行脚本
来源:互联网 发布:医学图像算法工程师 编辑:程序博客网 时间:2024/05/16 15:52
第一次写脚本还是有点小开森~
执行检查apache服务器是否执行的脚本,每个半小时执行一次
新建一个脚本,名字为checkrun.sh
touch checkrun.sh
然后有vim进行编辑,所有命令都要在该文件下执行
vim checkrun.sh
输入i进行编辑
编辑文件的时候查了好多方式
有ps aux | grep httpd
方式,但是执行出来apache停了和没停是一样的反应,
因为服务器中的apache占用8081端口,所以通过lsof –i:8081进行监测
具体代码如下:
test=$(lsof -i:8081)if [ -n "$test" ] then echo "apache is start" else /home/yushan/y/./ctlscript.sh start echo "restart"fi
-n 为非空的时候返回真,代表服务器正在运行。
编辑未完成后使用esc退出,并输入:wq进行保存。如果不保存则输入:q!
最后回车结束
要让脚本每隔半小时执行一次
运行crontab –e ,第一次进行编辑,所以需要选择编辑器,由于没有经验选择了提示的esaiest,后面发现应该选择3的
发现完全不会使用nano,又转回来sudoselect-editor
然后选择3,在文件中添加
*/30 * * * * sh/home/yushan/scriptme/checkrun.sh
隔半小时执行一次
截图转自http://jingyan.baidu.com/article/73c3ce28e7b298e50343d925.html
查看是否执行,进行etc/rsyslog.d
对50*那个文件进行修改,将cron的只是去掉
然后重启日志服务 service syslog restart
查看执行后进行日志记录关闭,毕竟浪费空间
然后回到原来的用户权限,从root中进入的cron文件并未被修改
su – yushan(yushan为用户名)
(sudo su进入到root用户下)
在另外一个服务器上结果test=$(ps aux | grep httpd |grep -v grep)可以执行,但是不能执行lsof,保留疑惑
删除文件夹命令 rm –rf 文件名阅读全文