Linux监控服务并主动重启
Linux查詢后臺(tái)進(jìn)程,如果沒有進(jìn)程號(hào),則重啟服務(wù):
#!/bin/sh basepath=$(cd `dirname $0`; pwd) while true doprocnum=`ps -ef|grep "服務(wù)名稱"|grep -v grep|wc -l`if [ $procnum -eq 0 ]then#啟動(dòng)命令echo `date +%Y-%m-%d` `date +%H:%M:%S` "restart 服務(wù)" >>$basepath/shell.logfisleep 1 done?結(jié)合? crontab命令
對(duì)于24小時(shí)開機(jī)運(yùn)行的服務(wù)器可能用不到的,但是對(duì)非24小時(shí)開機(jī),又想定時(shí)運(yùn)行任務(wù)的機(jī)器還是十分有用的。
crontab [-u user] [-l | -r | -e] [-i]
-l:列出當(dāng)前用戶的計(jì)劃任務(wù)。
-e:編輯當(dāng)前用戶的計(jì)劃任務(wù)。
-r:刪除當(dāng)前用戶的所有計(jì)劃任務(wù)。即刪除/var/spool/cron/USERNAME文件。
-u:管理指定用戶的計(jì)劃任務(wù),僅root有權(quán)限。
-i:在使用-r選項(xiàng)刪除所有任務(wù)時(shí)提示用戶確認(rèn)。
crontab的語法
crontab分為兩類:
1、系統(tǒng)cron任務(wù)
系統(tǒng)的crontab存放在 /etc/crontab
a、每一行定義一個(gè)周期性任務(wù),共7個(gè)字段。
b、此處的環(huán)境變量不同于用戶登錄后獲得的環(huán)境,因此建議命令使用絕對(duì)路徑。
c、執(zhí)行結(jié)果會(huì)發(fā)送郵件給mailto指定的用戶。
2、用戶cron任務(wù)
用戶的crontab文件存放在 /var/spool/cron/USERNAME
# crontab -e -u USERNAME
a、每一行定義一個(gè)周期性任務(wù),共6個(gè)字段。
b、此處的環(huán)境變量不同于用戶登錄后獲得的環(huán)境,因此建議命令使用絕對(duì)路徑。
c、執(zhí)行結(jié)果會(huì)發(fā)送郵件給當(dāng)前用戶。
星號(hào)(*)匹配所有有效的值。
短橫線(-)表示范圍連續(xù)取值。
逗號(hào)(,)表示離散取值。
正斜線(/)指定間隔頻率。例如,0-59/2 在分鐘字段表示每?jī)煞昼姟?br />?
指定的時(shí)間點(diǎn)不能被步長(zhǎng)整除時(shí),其意義將不存在。例如 */7 * * * *
注意:%在crontab中被認(rèn)為是newline,使用時(shí)需要用 \ 轉(zhuǎn)義。比如crontab文件中,如果有 "date +%Y%m%d",必須替換為:"date +\%Y\%m\%d"。
crontab的最小時(shí)間單位為”分鐘“,想完成”秒“級(jí)任務(wù)
查看所有用戶的crontab
# for u in `cat /etc/passwd | cut -d":" -f1`;do crontab -l -u $u;done ?
查看cron的日志
# tail -50f /var/log/cron
?
轉(zhuǎn)載于:https://www.cnblogs.com/hello-wei/p/9512361.html
總結(jié)
以上是生活随笔為你收集整理的Linux监控服务并主动重启的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 第7章非线性系统的分析-7.1非线性系统
- 下一篇: linux 其他常用命令