Chinaunix
标题:
请看一下这个SHELL为什么会有这个提示
[打印本页]
作者:
mazhedong
时间:
2007-08-07 09:24
标题:
请看一下这个SHELL为什么会有这个提示
#!/bin/sh
year=`date +%Y`
today=`date +%m%d`
day=`date +%d`
chour=`date +%H`
cmin=`date +%M`
xtime=`date +%H%M`
week=`date +%u` #1-7
backdir="/u1/myback"
backfile1="$backdir/A$day.tar.gz"
backfile2="$backdir/B$year$today.tar.gz"
logfile="/var/mycron.log"
##1月1日晚6点开始备份上年报表数据
[ $today -eq 0101 -a $xtime -eq 1800 ] &&
{
lastyear=`expr $year - 1`
mkdir -p $backdir/reports/$lastyear 2>&1 > /dev/null
cd /home/sun/frcv/fdist/RecvFile/Commit
cp -r CBAK orgrpt rptbak subrpt $backdir/reports/$lastyear
rm -f CBAK/* ; rm -f orgrpt/* ; rm -f rptbak/* ; rm -f subrpt/*
}
[ $xtime -eq 0600 ] && ## 早上6点00分
{
# if [ $week -eq 1 ] ; then #### 周一备份数据
cd /home/sun
mkdir $backdir 2>&1 > /dev/null
tar czf $backfile1 ./log ./print /u2/temp
rm -f /home/sun/core*
find ./log/ -exec rm -f {} \; > /dev/null 2>&1
# find ./print/ -exec rm -f {} \; > /dev/null 2>&1
rm -rf print;mkdir print;chown sun:informix print
find ./temp/TC/ -exec rm -f {} \; > /dev/null 2>&1
find ./temp/ -maxdepth 1 -exec rm -f {} \; > /dev/null 2>&1
# fi
## 删除一周前的报表
cd /home/sun/frcv/fdist/RecvFile/Commit
find . -name "[ST]*" -maxdepth 1 -mtime +6 -exec rm {} \; > /dev/null 2>&1
if [ $day -ne 01 ] ; then ## 1日
for i in 10 9 8 7 6 5 4 3 2 1
do
n=`who | wc -l`
[ $n -eq 0 ] && break ### 无人注册
echo "系统将在 $i 分钟后重新启动,请及时与中心联系!" | wall
sleep 60
done
rm -rf /tmp/*
# cp /etc/ctelnetd.org /etc/ctelnetd.conf
/sbin/reboot
exit 0
fi
}
exit 0
此文件是:mycron.sh
我在用crontab mycron.sh时提示第14行的分钟格式不对[ $today -eq 0101 -a $xtime -eq 1800 ] &&请各位大侠指教.
作者:
waker
时间:
2007-08-07 09:27
因为你没按约定的形式书写
http://bbs.chinaunix.net/thread-972564-1-1.html
作者:
mazhedong
时间:
2007-08-07 09:38
我还是不懂,能否详细一点呀,那我应该如何改呢?
作者:
waker
时间:
2007-08-07 10:02
1.猜不出来你用crontab的目的是什么.
2.你的脚本已经作了时间判断,直接 nohup mycron.sh &行不行?
3.以上都是基于猜测的,命中的可能性很小,不过建议花几天时间读新手导航,然后是基础12篇,不一定要读懂,但建议3+遍的数量,然后再来思考你的问题,估计就明了很多了
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2