linux下編寫一個shell腳本,每天0點,定時執行某一可執行程序test。剛學習shell希望大俠們給個代碼參考?
創建一個新的crontab文件
向cron進程提交一個crontab文件之前,首先要設置環境變數EDITOR。編輯$HOME目錄下的.profile文件,在其中加入這樣一行:
EDITOR=vi;exportEDITOR
然後保存並退出。創建一個名為testcron的文件,內容如下:
#runtest.sheveryhalfday
*0,12***/home/username/test.sh
保存並退出。然後提交這個任務:
$crontabtestcron
Linuxcrontab定時執行任務命令格式與詳細例子?
基本格式:
*****command
分時日月周命令
第1列表示分鍾1~59每分鍾用*或者*/1表示
第2列表示小時1~23(0表示0點)
第3列表示日期1~31
第4列表示月份1~12
第5列標識號星期0~6(0表示星期天)
第6列要運行的命令
crontab文件的一些例子:
3021***/usr/local/etc/rc.d/lighttpdrestart
上面的例子表示每晚的21:30重啟apache。
4541,10,22**/usr/local/etc/rc.d/lighttpdrestart
上面的例子表示每月1、10、22日的4:45重啟apache。
101**6,0/usr/local/etc/rc.d/lighttpdrestart
上面的例子表示每周六、周日的1:10重啟apache。
0,3018-23***/usr/local/etc/rc.d/lighttpdrestart
上面的例子表示在每天18:00至23:00之間每隔30分鍾重啟apache。
023**6/usr/local/etc/rc.d/lighttpdrestart
上面的例子表示每星期六的11:00pm重啟apache。
**/1***/usr/local/etc/rc.d/lighttpdrestart
每一小時重啟apache
*23-7/1***/usr/local/etc/rc.d/lighttpdrestart
晚上11點到早上7點之間,每隔一小時重啟apache
0114*mon-wed/usr/local/etc/rc.d/lighttpdrestart
每月的4號與每周一到周三的11點重啟apache
041jan*/usr/local/etc/rc.d/lighttpdrestart
一月一號的4點重啟apache
名稱:crontab
使用許可權:所有使用者
使用方式:
crontabfile-用指定的文件替代目前的crontab。
crontab--用標准輸入替代目前的crontab.
crontab-1-列出用戶目前的crontab.
crontab-e-編輯用戶目前的crontab.
crontab-d-刪除用戶目前的crontab.
crontab-cdir-指定crontab的目錄。
crontab文件的格式:MHDmdcmd.
M:分鍾(0-59)。
H:小時(0-23)。
D:天(1-31)。
m:月(1-12)。
d:一星期內的天(0~6,0為星期天)。
cmd要運行的程序,程序被送入sh執行,這個shell只有USER,HOME,SHELL這三個環境變數
說明:
crontab是用來讓使用者在固定時間或固定間隔執行程序之用,換句話說,也就是類似使用者的時程表。-uuser是指設定指定
user的時程表,這個前提是你必須要有其許可權(比如說是root)才能夠指定他人的時程表。如果不使用-uuser的話,就是表示設
定自己的時程表。
參數:
crontab-e:執行文字編輯器來設定時程表,內定的文字編輯器是VI,如果你想用別的文字編輯器,則請先設定VISUAL環境變數
來指定使用那個文字編輯器(比如說setenvVISUALjoe)
crontab-r:刪除目前的時程表
crontab-l:列出目前的時程表
crontabfile-用指定的文件替代目前的crontab。
時程表的格式如下:
f1f2f3f4f5program
其中f1是表示分鍾,f2表示小時,f3表示一個月份中的第幾日,f4表示月份,f5表示一個星期中的第幾天。program表示要執
行的程序。
當f1為*時表示每分鍾都要執行program,f2為*時表示每小時都要執行程序,其餘類推
當f1為a-b時表示從第a分鍾到第b分鍾這段時間內要執行,f2為a-b時表示從第a到第b小時都要執行,其餘類推
當f1為*/n時表示每n分鍾個時間間隔執行一次,f2為*/n表示每n小時個時間間隔執行一次,其餘類推
當f1為a,b,c,...時表示第a,b,c,...分鍾要執行,f2為a,b,c,...時表示第a,b,c...個小時要執行,其餘類推
使用者也可以將所有的設定先存放在檔案file中,用crontabfile的方式來設定時程表。
例子:
#每天早上7點執行一次/bin/ls:
07***/bin/ls
在12月內,每天的早上6點到12點中,每隔3個小時執行一次/usr/bin/backup:
06-12/3*12*/usr/bin/backup
周一到周五每天下午5:00寄一封信給[email protected]:
017**1-5mail-s"hi"[email protected]/tmp/maildata
每月每天的午夜0點20分,2點20分,4點20分....執行echo"haha"
200-23/2***echo"haha"
注意:
當程序在你所指定的時間執行後,系統會寄一封信給你,顯示該程序執行的內容,若是你不希望收到這樣的信,請在每一行空一格之
後加上>/dev/null2>1即可
例子2:
#每天早上6點10分
106***date
#每兩個小時
0*/2***date
#晚上11點到早上8點之間每兩個小時,早上8點
023-7/2,8***date
#每個月的4號和每個禮拜的禮拜一到禮拜三的早上11點
0114*mon-weddate
#1月份日早上4點
041jan*date
範例
$crontab-l列出用戶目前的crontab
linux系統每天自動巡檢,輸出到一個文件里?
先把20台伺服器的ssh登陸語句寫進一個文本文件中host_name.txt,確保有一台機器可以通其他的19台伺服器。
ssh跳轉格式這樣寫:ssh用戶名@ip
#!/bin/bashcheck_sev(){ssh_ip=$1$ssh_ip!vmstat110iostat110exit!echo}echo`date"+%D"`>>check_host.logwhilereadlinedoecho"---------------------------------">>check_host.logecho"$linedate'+%F%T'">>check_host.logcheck_sev$line>>check_host.logdonehost_name.txt
將上面的腳本放在一個主機上,用crontab提交每日任務,
3010* * *上面腳本的目錄地址
將以上內容寫進xx.cron中,crontabxx.cron提交就是每天的10:30運行你上面的檢查腳本。
具體crontab的用戶你可以網路。
====================================================================
第一個腳本本人純手打,並沒有試,還有不少漏洞,你可以自行修改,比如你這個放腳本的伺服器必須能無密碼ssh登陸其他19個主機,腳本最好加上錯誤日誌記錄,防止某些錯誤導致腳本異常終止。你可以多調試幾遍,有問題的在一起交流。
㈡ 為什麼ps要點幾下才執行命令ps為什麼要點一下才能顯示結果
在Photoshop中,有些命令需要多次點擊才能執行的原因可能有以下幾點:
1. 防止誤操作:一些常用的命令,比如刪除圖層、清空畫布等,如果只需要點擊一次就能執行,很容易因為誤操作而造成不必要的損失。所以需要多次點擊來確認操作。
2. 確認操作:有些命令需要多次點擊才能執行,是為了讓用戶能夠確認自己的操作。比如調整圖層透明度,通過多次點擊可以逐漸調整透明度,用戶可以在調整過程中觀察效果,確保最終效果符合自己的期望。
3. 模擬物理效果:有些功能需要通過多次點擊來模擬物理效果,比如畫筆工具中的「塗抹」模式,需要多次塗抹才能形成柔和的過渡效果。
總之,多次點擊命令是為了讓操作更加安全、精準和符合用戶的預期。
這是因為在Photoshop中有時候需要多個操作才能完成一個命令,例如選擇一個顏色需要點擊幾下才能打開顏色選擇器,或者調整曲線需要拖動多個點來完成。此外,這也是Photoshop為了避免誤操作而採取的一種安全機制,需要用戶再次確認操作後才能執行。需要注意的是,某些命令的快捷鍵可以縮短操作時間,提高工作效率。
㈢ 怎麼用CMD重啟電腦
1、在開始運圓友的搜索欄搜索cmd。