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
}'