linuxshell秒
1、創建腳本 test.sh,並入截圖內容。
② linux中shell如何實現毫秒級別的sleep
sleep
usleep
③ linux shell 刪除存在時間超過30秒的文件
使用find命令可以解決則個問題, 也就是換個說法, 是要刪除30s錢創建的文件。
寫一個shell腳本可以搞定。
要不要幫幫忙?
④ linux shell 問題2
##1.控制執行時間間隔:使用sleep:
echo hello
sleep 10s #等10秒
echo hello
sleep 10m #等10分鍾
echo hello
sleep 10h #等10hour
echo hello
sleep 10d #等10days
##2.控制執行時間點:使用crontab
Step 1:
使用命令crontab -e編輯一個定時執行的任務或在/var/spool/cron/crontabs目錄下新建一個與自己用戶名相同的任務.
即:
#每隔一分鍾執行一次後台程序tmpmail
* * * * * /home/milch/tmpmail
順便提一下crontab中的命令格式:
第一個 * 表示分鍾 (0-59),
第二個 * 表示小時 (0-23),
第三個 * 表示月份中的某一天 (1-31),
第四個 * 表示一年中的某一月 (1-12),
第五個 * 表示一周中的星期幾 (0-6 with 0=Sunday).
實例說明
# crontab -l
# DO NOT EDIT THIS FILE - edit the master and reinstall.
# (/tmp/crontab.3672 installed on Thu Jan 1 15:55:18 2004)
# (Cron version -- $Id: crontab.c,v 2.13 1994/01/17 03:20:37 vixie Exp $)
0 0-23/6 * * * /usr/bin/webalizer
30 3 * * * /root/fbin/bak-web
#
先前曾提到,crontab 的格式分成六個部分,前五個是時間參數。在上例中你會發現除了數字與英文名稱,有使用到符號"*",這個符號代表每一單位的意思,譬如 30 3 * * * 既代表 30分 3點 每日 每月 星期的每天。
時間的指定,可以是單一的數字,或幾個數字用逗號來連接。看下例
30 3,12 * * * /root/fbin/bak-web
其中的第二項為 3,12,這代表 3 以及 12 小時的意思。再來看下例
30 */6 * * * /root/fbin/bak-web
我把第二項改成 */6 這代表每 6 小時,也相當於 6,12,18,24 的作用。此外還有一個區段的做法
30 8-18/2 * * * /root/fbin/bak-web
我把第二項改成 8-18/2 這代表在 8 小時到 18 小時之間每 2 小時,也相當於 8,10,12,14,16,18 的作用。
⑤ linux shell腳本 每秒執行一次date輸出到/home/date中,想要每分鍾清空一下date文件 在腳本中怎麼加命令
這個需要使用計劃任務 crontab
cd /root
echo "echo >/home/date">>test.sh
chmod +x test.sh
echo "*/1* * * * root sh /root/test.sh" >>/etc/crontab
/etc/init.d/crond restart
⑥ 在linux6.1的環境希望寫個shell怎麼利用紀元秒然後減去86400秒求出昨天的秒數,然後換算成昨天的時間
linux6.1不知道,有的date有--date參數,date --date "-1 day"就是前一天了
如果沒有,這里有個段淘來的腳本,高手寫的:
#date=YYYYMMDD
#Usage:command date days
str=$1
days=$2
yy=`echo $str|cut -c 1-4`
mm=`echo $str|cut -c 5-6`
dd=`echo $str|cut -c 7-8`
sav_dd=$days
days=`expr $days - $dd`
while [ $days -ge 0 ]
do
mm=`expr $mm - 1`
[ $mm -eq 0 ] && mm=12 && yy=`expr $yy - 1`
aaa=`cal $mm $yy`
bbb=`echo $aaa|awk '{print $NF}'`
days=`expr $days - $bbb`
done
dd=`expr 0 - $days`
expr $dd : "^.$" > /dev/null && dd=0$dd
expr $mm : "^.$" > /dev/null && mm=0$mm
echo $yy$mm$dd
⑦ Linux_Shell腳本編程之read讀取控制台輸入
read(選項)(參數)
選項:
-p:指定讀取值時的提示符
-t:指定讀取值時等待的時間(秒),如果沒有在指定的時間內輸入,就不再等待了。。。
參數:
變數:指定讀取值的變數名
1、案例一:讀取控制台輸入一個NUM1值
2、案例二:讀取控制台輸入一個NUM2值,在10秒內輸入。
⑧ linux,如何用shell命令在45秒後關閉系統
變通一下,在你的內容下面加一個空賦值代碼就行了,和cmd中的pause一樣,你試試:
read -p "任意鍵繼續..."
⑨ 用Linux shell 計算兩個時間差
start=`date +%s -d "2011-11-28 15:55:37"`
end=`date +%s -d "2011-11-28 15:55:52"`
echo $(($end-$start))
這個前提是你能拿到開始和結束時間字串的基礎上的。
如果你的日誌文件輸出格式是上述的話,還有個方法:
cat 日誌文件 | awk '/^000/{
start=$2 " " $3
end=$4 " " $5
stm=mktime(gensub(/[:-]/, " ", "g", start))
etm=mktime(gensub(/[:-]/, " ", "g", end))
print $1 " - " etm-stm
}'