- 论坛徽章:
- 0
|
俺愚笨的说!·(谁说俺打谁,^<>^)
这是有人提的问题:
原帖由 "boywhocools"]我想在/etc/init.d中放置一个文件,我希望在这个文件从第一次执行起,10天后把它自动修改或者删除掉,或者让它从第一次执行起,10天后自动删除系统的某个文件,应该怎么实现?谢谢![/quote 发表:
据说下面这是一位super haker(bzzyg)写的:
[quote]原帖由 "bzzyg"]yrq 发表:
你可设在/etc/init.d中的一个文件名为exeone 其中内容有如下一行
date +%Y%m%d > rqwj (保存日期的文件)
你可写一shell,名为rqbj.
把它放在crontab中如下:
00 08 * * * /bin/rqbj
rqbj的内容如下:
str=`date +%Y%m%d`
days=10
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
yg=`echo $yy$mm$dd`
yrq=`cat rqwj | awk '{ print $1 }'`
if [ $yg = $yrq ]
then
echo "right"
rm /etc/init.d/exeone
fi
试试看吧.
这个程序里除了两行,剩下的我都明白是什么意思,可我就是不明白他的原理,他是怎么判别出当前日期是10天之后呢??谁看明白了,给我讲讲!
另外就是说一下那两行是什么意思!!
麻烦各位侠们了!! |
|