第一次寫指令碼還是有點小開森~
執行檢查apache伺服器是否執行的指令碼,每個半小時執行一次
新建乙個指令碼,名字為checkrun.sh
touch checkrun.sh
然後有vim進行編輯,所有命令都要在該檔案下執行
vim checkrun.sh
輸入i進行編輯
編輯檔案的時候查了好多方式
有
ps aux | grep httpd
方式,但是執行出來apache停了和沒停是一樣的反應,
因為伺服器中的apache占用8081埠,所以通過lsof –i:8081進行監測
具體**如下:
-n 為非空的時候返回真,代表伺服器正在執行。test=$(lsof -i:8081)
if [ -n "$test" ]
then
echo "apache is start"
else
/home/yushan/y/./ctlscript.sh start
echo "restart"
fi
編輯未完成後使用esc退出,並輸入:wq進行儲存。如果不儲存則輸入:q!
最後回車結束
要讓指令碼每隔半小時執行一次
執行crontab –e ,第一次進行編輯,所以需要選擇編輯器,由於沒有經驗選擇了提示的esaiest,後面發現應該選擇3的
發現完全不會使用nano,又轉回來sudo select -editor
或者使用export editor=vim
然後選擇3,在檔案中新增
*/30 * * * * sh/home/yushan/scriptme/checkrun.sh
隔半小時執行一次
截圖**
檢視是否執行,進入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 檔名
有關linux下執行指令碼
linux執行指令碼命令時前面加.還有的指令碼要加 哪位大俠給解釋一下,謝謝 還有的指令碼要加 不能執行,非要輸入 指令碼名 這個是明白的 表示當前目錄,這是因為linux的預設搜尋目錄裡沒有當前目錄,所以如果你在當前目錄需要執行程式就要加上路徑,用全路徑代替也是可以的。第乙個點在 bash 內相當...
Linux執行指令碼
首先指令碼需要有執行許可權 chmod u x file.sh 執行指令碼有三種方法 1.file.sh 特點 開啟bash子程序來執行,也就是開啟額外的程序來進行,不影響原程序的變數 配置等 2.bash file.sh 特點 和.file.sh相同 3.source file.sh 或者 fil...
linux執行指令碼
linux下開機以某乙個使用者執行指令碼 etc rc.local新增想要被執行的命令即可 預設是以root使用者執行 2 以期望的使用者執行命令 su c ls l myfile.txt guowei 解釋 其中需要被執行的命令是 ls l myfile.txt 期望的使用者的 guowei,表示...