【发布时间】:2013-08-31 20:40:00
【问题描述】:
我作为“ins”用户的 crontab 条目是这样的:
* * * * * /usr/bin/ksh /apps/swbkp/swbkp.sh
脚本是:
#! /usr/bin/ksh
. /apps/ins/.profile
cdate=$(date +'%y%m%d')
/apps/omni/bin/swmml -e "backup-node:" >> /apps/swbkp/swerrr1.$cdate
#
if [[ -f /apps/omni/conf/archive.C7M3UAA.500.$cdate ]]
then
mv -f /apps/omni/conf/archive.C7M3UAA.500.$cdate /apps/swbkp/
elif [[ -f /apps/omni/labeir1/dffile/archive.C7M3UAA.500.$cdate ]]
then
mv -f /apps/omni/labeir1/dffile/archive.C7M3UAA.500.$cdate /apps/swbkp/
else
printf "Backup archive File not present to move"
fi >> /apps/swbkp/swerrr1.$cdate
#
注意:/apps/omni/bin/swmml -e "backup-node:" 这一行只是在我的系统上创建了一个archive.C7M3UA.500.<current date> 类型的备份文件
发生了 2 件奇怪的事情:
-
生成的备份文件为:
-rw-r--r-- 1 root root 165 Aug 28 21:55 /apps/omni/labeir1/dffile/archive.C7M3UAA.500.130828
当移动到/apps/swbkp 时,时间戳是前 1 分钟:
-rw-r--r-- 1 root root 165 Aug 28 21:54 archive.C7M3UAA.500.130828
-
没有任何东西被重定向到
/apps/swbkp/swerrr1.$cdate文件-rw-r--r-- 1 ins 0 8 月 28 日 21:24 swerrr1.130828
而当我从终端运行脚本时,一切正常,即文件在备份文件夹和移动文件夹中具有相同的时间戳,并且输出也记录在日志文件中。
请帮忙
【问题讨论】:
-
似乎有别的东西正在写入这个文件
/apps/omni/labeir1/dffile/archive.C7M3UAA.500.130828,而它正在被移动。我会在两者之间进行md5检查。什么都不会被重定向,因为它没有达到最终的else条件。 -
@iamauser no ,脚本在独立运行时会给出“备份完成”消息,该消息被重定向到日志文件,这只是在 crontab 中不会发生
标签: linux shell scripting crontab