shell腳本執行時間
1. shell腳本怎麼設置執行程序的時間 比如每個月的5號執行
只需編輯/etc/init.d/rc.local文件,在最後加上你的腳本即可。
比如:我已經編寫了一個腳本shell.sh,存放在/home/mars704/Desktop/ 下面
在終端輸入 gedit /etc/init.d/rc.local編輯文件,在結尾出加入:
/home/mars704/Desktop/sh.sh 即可開機自動載入腳本
首先,linux隨機啟動的服務程序都在/etc/init.d這個文件夾里,裡面的文件全部都是腳本文件(腳本程序簡單的說就是把要運行的程序寫 到一個 文件里讓系統能夠按順序執行,類似windows下的autorun.dat文件),另外在/etc這個文件夾里還有諸如名為rc1.d, rc2.d一直到rc6.d的文件夾,這些都是linux不同的runlevel,我們一般進入的X windows多用戶的運行級別是第5級,也就是rc5.d,在這個文件夾下的腳本文件就是運行第5級時要隨機啟動的服務程序。需要注意的是,在每個rc (1-6).d文件夾下的文件其實都是/etc/init.d文件夾下的文件的一個軟連接(類似windows中的快捷方式),也就是說,在 /etc/init.d文件夾下是全部的服務程序,而每個rc(1-6).d只鏈接它自己啟動需要的相應的服務程序!
要啟動scim(某一 程序),我們首先要知道scim程序在哪裡,用locate命令可以找到,scim在/usr/bin/scim這里,其中usr表 示是 屬於用戶的,bin在linux里表示可以執行的程序。這樣,我就可以編寫一個腳本程序,把它放到/etc/init.d里,然後在rc5.d里做一個相 應的軟鏈接就可以了。
這個腳本其實很簡單,就兩行:
#!/bin/bash
/usr/bin/scim
第一行是聲明用什麼終端運行這個腳本,第二行就是要運行的命令。
還 需要注意的一點是,在rc5.d里,每個鏈接的名字都是以S或者K開頭的,S開頭的表示是系統啟動是要隨機啟動的,K開頭的是不隨機啟動的。這 樣,你就可以知道,如果我要哪個服務隨機啟動,就把它名字第一個字母K改成S就可以了,當然,把S改成K後,這個服務就不能隨機啟動了。因此,我這個鏈接 還要起名為SXXX,這樣系統才能讓它隨機啟動。在RH下,rc.local是默認啟動的最後一個腳本文件,所以,如果你想要隨機啟動,還有一種方法就是在rc.local的尾部加入/usr/bin/scim,這樣就可以了
2. linux下如何寫個SHELL腳本,每天執行這么幾句命令:
1、登錄CentOS7系統,打開終端,輸入命令env shell列印出shell進程的環境變數。
3. 查看shell腳本運行多長時間
real:是該命令的總耗時,包括user和sys及io等待,時間片切換等待等等
user:是該命令在用戶模式下的CPU耗時,也就是內核外的CPU耗時,不含IO等待這些時間
sys:是該命令在內核中的CPU耗時,不含IO,時間片切換耗時.
樓主需要的應該只是real這一項值
4. 如何解決Shell腳本執行超時的問題
執行超時那就說明環境出問題,比如網路環境不通了,腳本計算任務過多。那隻能是有問題查問題了。你也可以對腳本的執行加上監控,比如使用timeout命令限制執行時間,如到達一定的時間後沒執行完,然後就發消息通知你。對於超時的任務可以嘗試多次等,或者改進代碼。
5. shell腳本計算時間
TIME_INPUT=`date -d "00:00" +%s`
通過時間戳來計算
nowtime=`date +%s`
shijiancha=`expr $nowtime - $TIME_INPUT`
if [ $shijiancha -gt 180 ];then
echo 3分鍾前
else
if [ $shijiancha -lt -180 ];then
echo 3分鍾後
fi
fi
6. 請教shell控制腳本運行時間的方法
sleep 時間&& kill -9 $pid
後台執行的話 cmd &
7. 怎樣編寫一個shell腳本顯示系統已運行時間
uptime | awk '{print $3}'
8. shell腳本中一段內容執行的時間如果超出10秒則跳出怎麼寫
十秒自動跳出方法很多,shell腳本一般使用建立新的進程,十秒後殺掉。還有expect控制timeout。其它的像python parl就不屬於bash范疇了。
我推存給你一個方法,使用lftp,常用的linux衍生版基本都有這個工具,下面是命令,其它方法你自行網路
1.設置一個變數,定義一些lftp的配置,比如超時時間、重試次數等
lftp_set="setdns:fatal-timeout5;setdns:max-retries1;setdns:use-forkno;setnet:timeout5;setnet:max-retries1"
2.一行lftp命令,功能是登錄一個ftp服務,登錄後會自行退出,同時五秒自動超時
lftp-c"$lftp_set;open
:$ftp密碼@$ftp服務ip:$ftp服務prot:$目錄"
以上兩行解決你ftp超時問題,還挺方便的吧
以下是常用的BASH插入數據的腳本,你參考一下,希望你能把你寫的放上來,大家都可以幫你看看
aaa=`sqlplus-silent"/assysdba"<<EOF
setechooffheadoffpagesize0
你插入的語句;
exit;
EOF`
9. 如何獲取shell腳本中某條語句的執行時間
time { ... }試一下?shell是串列執行的,如果不採用並行執行模式parallel ?
10. 求:linux 監控shell腳本運行時間
你的意思是某個進程不能不能超過5分鍾,否則觸發某個事件比如發送郵件或簡訊?
如果是這樣,腳本很好控制
直接在運行前記錄一個時間,然後創建一個lock文件
如果腳本完成,刪除pid
再sleep 300秒後判斷lock文件是否存在,如果不存在,退出,如果存在,報警,退出。