Linux之常用脚本
1) 监控某个进程是否运行
#检查php Money 队列脚本是否启动 php_count=`ps -ef | grep Money | grep -v "grep" | wc -l` if [ $php_count == 0 ];then echo '----php Money queue start' `sudo -H -u www bash -c 'nohup php /www/wwwroot/www.demo.com/think queue:listen --queue Money > /www/wwwroot/www.demo.com/logs/Money.txt 2>&1 &'` else echo '----php Money queue ok' fi #检查php DestroyQueue 队列脚本是否启动 php_count=`ps -ef | grep Destroy | grep -v "grep" | wc -l` if [ $php_count == 0 ];then echo '----php Destroy queue start' `sudo -H -u www bash -c 'nohup php /www/wwwroot/www.demo.com/think queue:listen --queue Destroy > /www/wwwroot/www.demo.com/logs/Destroy.txt 2>&1 &'` else echo '----php Destroy queue ok' fi
脚本说明:
查看进程是否存在,不存在则重新启动(grep -v (排除grep这一项) )
反引号中是可执行的脚本, -c 它可以让 bash 将一个字串作为完整的命令来执行,这样就可以将 sudo 的影响范围扩展到整条命令。
-u 使用www的用户来执行这个脚本
2)定时删除过期文件
#!/bin/bash cd /data/www/ad/common/runtime find -mtime +16 -name "*.log" -exec rm -rf {} \; 查询修改时间大于16天的,文件名称以log为后缀的文件,执行删除处理
每个月1号执行删除30天之前的文件
0 0 1 * * find /data/log/nginx/ -name '202*' -type d -mtime +30 |xargs rm -rf > /dev/null 2>&1