背景:huskiesir最近用公司給分配的賬戶寫了腳本去檢測某應用狀態並發送到企業郵箱,寫完腳本之后去執行了一下,發現效果還不錯,在郵箱顯示效果如下: 10.11.116.6 檢查結果OK,檢查時間:2018-11-16_15:26:04 但是呢,經過crontab自動執行以后 ...
原腳本代碼 手動執行腳本結果和預想的一致 結果 但是加入crontab定時任務后,執行的結果卻是錯誤的。 原因 這是因為if里的比較字符串用了 ,這個比較符合在bash里是可以用的,但是在大部分的shell中都不能用,比如 bin sh, 如果將此腳本的頭部聲明成 bin sh,那么這段代碼手動執行也是無法執行的 修正后的代碼 總結 .腳本頭部聲明用 bin sh,因為這個shell符合posix ...
2017-06-29 13:25 0 1927 推薦指數:
背景:huskiesir最近用公司給分配的賬戶寫了腳本去檢測某應用狀態並發送到企業郵箱,寫完腳本之后去執行了一下,發現效果還不錯,在郵箱顯示效果如下: 10.11.116.6 檢查結果OK,檢查時間:2018-11-16_15:26:04 但是呢,經過crontab自動執行以后 ...
加上 PATH=/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin這行就好了, shell首部用 #!/usr/bin/env bash 這個移植性更好 ...
原因: crontab 沒有去讀環境變量,需要再腳本中手動引入環境變量,可以用source 也可以用export 寫死環境變量。 為了定時監控Linux系統CPU、內存、負載的使用情況,寫了個Shell腳本,當達到一定值得時候,發送郵件通知。需要用到Crontab的定時任務去執行這個腳本 ...
在需要執行的腳本里加入環境變量即可,如下圖: ...
上一篇文檔腳本手動能執行成功,crontab定時任務執行腳本不成功。 原因:cron的環境變量和shell腳本的環境變量不一樣 解決辦法: #方法一:定時任務里面切換到root執行() */5 * * * * su - root -c "/data/pkgs/mysql/tools ...
昨晚,本想用幾分鍾咔咔咔的把一個自定義腳本加在zabbix里,但是測試的時候zabbix_get獲取的值始終與單獨執行腳本不一致。按照我這性格,不弄出來睡不着,於是又是咔咔咔弄到2點鍾。最后又是被selinux坑了。記錄一下排查思路: 1、zabbix agent的配置文件 2、腳本里的變量 ...
昨天在定位一個bug的時候,需要用shell腳本對字符串進行比較,出了一個小問題,就搜索總結了一下。 第一種方法:-eq 對比字符串是否相等,我首先想到的就是 -eq,然而打印的結果不正確。看筆記: -eq 檢測兩個整數是否相等,相等返回 true。 [ $a -eq $b ...
檢查備份時發現,cron中定時備份mysql的腳本備份失敗,但是手動自行mysql備份腳本卻能正常成功 檢查cron的環境變量: # cat /etc/crontab ... SHELL=/bin/sh PATH=/usr/local/sbin:/usr/local/bin:/sbin ...