CentOS下cron定时运行shell脚本导出DMP文件问题!

long5973 2008-10-02 10:38:37
在服务和监听都已启动后,以oracle用户运行根目录下的backupGZGA.sh没问题!但用crontab -e设置后重启无法正常运行没有反应:
错误提示信息如下:
Oct 2 20:52:18 localhost crond[4239]: (CRON) STARTUP (V5.0)
Oct 2 20:52:18 localhost crond[4239]: (*system*) BAD FILE MODE (/etc/cron.d/backupGZGA.sh)
Oct 2 20:56:18 localhost crontab[4398]: (oracle) LIST (oracle)
Oct 2 20:59:12 localhost crontab[4608]: (oracle) LIST (oracle)
Oct 2 21:01:01 localhost crond[4667]: (root) CMD (run-parts /etc/cron.hourly)
Oct 2 21:05:12 localhost crontab[4835]: (oracle) LIST (oracle)
Oct 2 21:06:06 localhost crontab[4865]: (oracle) LIST (oracle)
Oct 2 21:06:36 localhost crond[4945]: (CRON) STARTUP (V5.0)
Oct 2 21:06:36 localhost crond[4945]: (*system*) BAD FILE MODE (/etc/cron.d/backupGZGA.sh)
Oct 2 21:06:40 localhost crond[4998]: (CRON) STARTUP (V5.0)
Oct 2 21:06:40 localhost crond[4998]: (*system*) BAD FILE MODE (/etc/cron.d/backupGZGA.sh)
Oct 2 21:10:55 localhost crond[5259]: (CRON) STARTUP (V5.0)
Oct 2 21:10:55 localhost crond[5259]: (*system*) BAD FILE MODE (/etc/cron.d/backupGZGA.sh)
Oct 2 21:10:58 localhost crond[5298]: (CRON) STARTUP (V5.0)
Oct 2 21:10:58 localhost crond[5298]: (*system*) BAD FILE MODE (/etc/cron.d/backupGZGA.sh)
Oct 2 21:15:53 localhost crond[5603]: (CRON) STARTUP (V5.0)
Oct 2 21:15:53 localhost crond[5603]: (*system*) BAD FILE MODE (/etc/cron.d/backupGZGA.sh)
Oct 2 21:18:37 localhost crond[5760]: (CRON) STARTUP (V5.0)
Oct 2 21:18:37 localhost crond[5760]: (*system*) BAD FILE MODE (/etc/cron.d/backupGZGA.sh)
Oct 2 21:19:20 localhost crond[5851]: (CRON) STARTUP (V5.0)
Oct 2 21:19:20 localhost crond[5851]: (*system*) BAD FILE MODE (/etc/cron.d/backupGZGA.sh)

[oracle@localhost /]$ crontab -l
*/1**** /backupGZGA.sh
***********************************************************************************************
etc/cron.d中的backupGZGA.sh的源文件内容如下:
#!/bin/bash
source ~/.bash_profile
echo "Begin backup databases.....CentOS5.1_gzga"
export ORACLE_HOME=/u01/app/oracle/product/10.2.0.1
export ORACLE_SID=gzga
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
rq=`date +%y%m%d`
echo "导出前时间: " `date`
$ORACLE_HOME/bin/exp ksxt/1234 owner=ksxt file=/backup/exp_${rq}.dmp log=/backup/exp_${rq}.log
cp /backup/*.dmp /root/
ls -l backup
lftp -c "open 192.168.0.100;user vaio 123950;mirror -R /backup;put backupGZGA.sh"
rq=`date +%y%m%d_%H`
echo "Export mission over!"
echo "导出后时间: " `date`
***************************************************************************************
var/spool/cron/oracle的内容为:*/1**** /backupGZGA.sh
******************************************************************************************
想在CentOS和ORACLE 10G启动后以ORACLE用户让每分钟CentOS5.1自动成功运行一次backupGZGA.sh
请教上述错误原因?具体如何解决?


...全文
1059 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
long5973 2008-10-11
  • 打赏
  • 举报
回复
oracle用户 crontab -l如下:
00-59/1 * * * * /backupGZGA.sh 1>>/tmp/gzgaCronLog.log 2>>/tmp/gzgaCronLog.log;curdate=`date +%y%m%d`;cat /tmp/gzgaCronLog.log|mutt -s GZGABackupFinished${curdate} -a /tmp/gzgaCronLog.log

/var/spool/mail/oracle:
From oracle@localhost.localdomain Sat Oct 11 15:49:02 2008
Return-Path: <oracle@localhost.localdomain>
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by localhost.localdomain (8.13.8/8.13.8) with ESMTP id m9B7n1Eb018900
for <oracle@localhost.localdomain>; Sat, 11 Oct 2008 15:49:01 +0800
Received: (from oracle@localhost)
by localhost.localdomain (8.13.8/8.13.8/Submit) id m9B7n1L2018899;
Sat, 11 Oct 2008 15:49:01 +0800
Date: Sat, 11 Oct 2008 15:49:01 +0800
Message-Id: <200810110749.m9B7n1L2018899@localhost.localdomain>
From: root@localhost.localdomain (Cron Daemon)
To: oracle@localhost.localdomain
Subject: Cron <oracle@localhost> /backupGZGA.sh 1>>/tmp/gzgaCronLog.log 2>>/tmp/gzgaCronLog.log;curdate=`date +
Content-Type: text/plain; charset=UTF-8
Auto-Submitted: auto-generated
X-Cron-Env: <SHELL=/bin/sh>
X-Cron-Env: <HOME=/home/oracle>
X-Cron-Env: <PATH=/usr/bin:/bin>
X-Cron-Env: <LOGNAME=oracle>
X-Cron-Env: <USER=oracle>

/bin/sh: -c: line 0: unexpected EOF while looking for matching ``'
/bin/sh: -c: line 1: syntax error: unexpected end of file



还是不行啊,错误信息如上,请教如何解决?


long5973 2008-10-09
  • 打赏
  • 举报
回复
oracle用户 crontab -l如下:
00-59/1 * * * * /backupGZGA.sh 1>>/tmp/gzgaCronLog.log 2>>/tmp/gzgaCronLog.log;cat /tmp/gzgaCronLog.log|mutt -s "GZGA backup finished!" -a /tmp/gzgaCronLog.log long@163.com

已实现每隔一分钟向long@163.com发标题为"GZGA backup finished!"的邮件并附件功能!怎样修改上述语句才能实现给long@163.com发送标题为"XXXX年XX月XX日XX时XX分XX秒GZGA backup finished!",附件为/tmp/gzgaCronLog.log中最后一百行的内容!XXXX年XX月XX日XX时XX分XX秒为oracle用户的crontab语句mutt执行时CentOS的当前时间。
2:脚本被CRON自动调用执行完成后向oracle终端中发送提示信息:"XXXX年XX月XX日XX时XX分XX秒 GZGA Mission Finished Pls check ur mail",当前用户没有打开终端就自动开启一个终端发送粗体提示信息:"XXXX年XX月XX日XX时XX分XX秒 GZGA Mission Finished" ,提示信息最好在终端的正中央!

实现在不行拆分成两个crontab语句也可以!
ll_0605 2008-10-08
  • 打赏
  • 举报
回复
up
ll_0605 2008-10-08
  • 打赏
  • 举报
回复
up
ll_0605 2008-10-08
  • 打赏
  • 举报
回复
刚用mail试过可以发送,但我的sendmail一直是启动状态啊,是不是路径的问题啊!
oracle用户 crontab -l如下:
00-59/1 * * * * /backupGZGA.sh 1>>/tmp/gzgaCronLog.log 2>>/tmp/gzgaCronLog.log;cat /tmp/gzgaCronLog.log|mail -s "GZGA backup finished!" lon@163.com
用上述语句可以实现给lon@163.com发送标题为"GZGA backup finished!",内容为/tmp/gzgaCronLog.log中的全部内容!

我想实现的功能为:1.给lon@163.com发送标题为"XXXX年XX月XX日XX时XX分XX秒GZGA backup finished!",附件为/tmp/gzgaCronLog.log中最后一百行的内容!XXXX年XX月XX日XX时XX分XX秒为oracle用户的crontab语句mail执行时CentOS的当前时间。
2:脚本被CRON自动调用执行完成后向oracle终端中发送提示信息:"XXXX年XX月XX日XX时XX分XX秒 GZGA Mission Finished Pls check ur mail",当前用户没有打开终端就自动开启一个终端发送粗体提示信息:"XXXX年XX月XX日XX时XX分XX秒 GZGA Mission Finished" ,提示信息最好在终端的正中央!

请教具体如何修改上述crontab语句?
long5973 2008-10-06
  • 打赏
  • 举报
回复
/var/log/maillog内容如下:
Oct 6 21:44:16 localhost sendmail[6986]: m96DiGKK006986: from=oracle, size=472, class=0, nrcpts=1, msgid=<200810061344.m96DiGKK006986@localhost.localdomain>, relay=oracle@localhost
Oct 6 21:44:16 localhost sendmail[6987]: m96DiGIP006987: from=<oracle@localhost.localdomain>, size=751, class=0, nrcpts=1, msgid=<200810061344.m96DiGKK006986@localhost.localdomain>, proto=ESMTP, daemon=MTA, relay=localhost.localdomain [127.0.0.1]
Oct 6 21:44:17 localhost sendmail[6988]: m96DiGIP006987: forward /home/oracle/.forward.localhost: World writable directory
Oct 6 21:44:17 localhost sendmail[6988]: m96DiGIP006987: forward /home/oracle/.forward: World writable directory
Oct 6 21:44:17 localhost sendmail[6986]: m96DiGKK006986: to=oracle, ctladdr=oracle (501/501), delay=00:00:01, xdelay=00:00:01, mailer=relay, pri=30472, relay=[127.0.0.1] [127.0.0.1], dsn=2.0.0, stat=Sent (m96DiGIP006987 Message accepted for delivery)
Oct 6 21:44:17 localhost sendmail[6988]: m96DiGIP006987: to=<oracle@localhost.localdomain>, ctladdr=<oracle@localhost.localdomain> (501/501), delay=00:00:01, xdelay=00:00:00, mailer=local, pri=30966, dsn=2.0.0, stat=Sent
Oct 6 21:46:16 localhost sendmail[7087]: m96DkFv5007087: from=oracle, size=472, class=0, nrcpts=1, msgid=<200810061346.m96DkFv5007087@localhost.localdomain>, relay=oracle@localhost
Oct 6 21:46:16 localhost sendmail[7088]: m96DkGSW007088: from=<oracle@localhost.localdomain>, size=751, class=0, nrcpts=1, msgid=<200810061346.m96DkFv5007087@localhost.localdomain>, proto=ESMTP, daemon=MTA, relay=localhost.localdomain [127.0.0.1]
Oct 6 21:46:16 localhost sendmail[7087]: m96DkFv5007087: to=oracle, ctladdr=oracle (501/501), delay=00:00:01, xdelay=00:00:00, mailer=relay, pri=30472, relay=[127.0.0.1] [127.0.0.1], dsn=2.0.0, stat=Sent (m96DkGSW007088 Message accepted for delivery)
Oct 6 21:46:16 localhost sendmail[7089]: m96DkGSW007088: forward /home/oracle/.forward.localhost: World writable directory
Oct 6 21:46:16 localhost sendmail[7089]: m96DkGSW007088: forward /home/oracle/.forward: World writable directory
Oct 6 21:46:16 localhost sendmail[7089]: m96DkGSW007088: to=<oracle@localhost.localdomain>, ctladdr=<oracle@localhost.localdomain> (501/501), delay=00:00:00, xdelay=00:00:00, mailer=local, pri=30966, dsn=2.0.0, stat=Sent
Oct 6 21:48:16 localhost sendmail[7188]: m96DmGes007188: from=oracle, size=472, class=0, nrcpts=1, msgid=<200810061348.m96DmGes007188@localhost.localdomain>, relay=oracle@localhost
Oct 6 21:48:16 localhost sendmail[7189]: m96DmGOq007189: from=<oracle@localhost.localdomain>, size=751, class=0, nrcpts=1, msgid=<200810061348.m96DmGes007188@localhost.localdomain>, proto=ESMTP, daemon=MTA, relay=localhost.localdomain [127.0.0.1]
Oct 6 21:48:16 localhost sendmail[7190]: m96DmGOq007189: forward /home/oracle/.forward.localhost: World writable directory
Oct 6 21:48:16 localhost sendmail[7190]: m96DmGOq007189: forward /home/oracle/.forward: World writable directory
Oct 6 21:48:16 localhost sendmail[7188]: m96DmGes007188: to=oracle, ctladdr=oracle (501/501), delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=30472, relay=[127.0.0.1] [127.0.0.1], dsn=2.0.0, stat=Sent (m96DmGOq007189 Message accepted for delivery)
Oct 6 21:48:16 localhost sendmail[7190]: m96DmGOq007189: to=<oracle@localhost.localdomain>, ctladdr=<oracle@localhost.localdomain> (501/501), delay=00:00:00, xdelay=00:00:00, mailer=local, pri=30966, dsn=2.0.0, stat=Sent
Oct 6 21:50:17 localhost sendmail[7302]: m96DoGns007302: from=oracle, size=472, class=0, nrcpts=1, msgid=<200810061350.m96DoGns007302@localhost.localdomain>, relay=oracle@localhost
Oct 6 21:50:17 localhost sendmail[7303]: m96DoHvf007303: from=<oracle@localhost.localdomain>, size=751, class=0, nrcpts=1, msgid=<200810061350.m96DoGns007302@localhost.localdomain>, proto=ESMTP, daemon=MTA, relay=localhost.localdomain [127.0.0.1]
Oct 6 21:50:17 localhost sendmail[7302]: m96DoGns007302: to=oracle, ctladdr=oracle (501/501), delay=00:00:01, xdelay=00:00:00, mailer=relay, pri=30472, relay=[127.0.0.1] [127.0.0.1], dsn=2.0.0, stat=Sent (m96DoHvf007303 Message accepted for delivery)
Oct 6 21:50:17 localhost sendmail[7304]: m96DoHvf007303: forward /home/oracle/.forward.localhost: World writable directory
Oct 6 21:50:17 localhost sendmail[7304]: m96DoHvf007303: forward /home/oracle/.forward: World writable directory
Oct 6 21:50:17 localhost sendmail[7304]: m96DoHvf007303: to=<oracle@localhost.localdomain>, ctladdr=<oracle@localhost.localdomain> (501/501), delay=00:00:00, xdelay=00:00:00, mailer=local, pri=30966, dsn=2.0.0, stat=Sent
Oct 6 21:52:17 localhost sendmail[7404]: m96DqH9i007404: from=oracle, size=472, class=0, nrcpts=1, msgid=<200810061352.m96DqH9i007404@localhost.localdomain>, relay=oracle@localhost
Oct 6 21:52:17 localhost sendmail[7405]: m96DqHTi007405: from=<oracle@localhost.localdomain>, size=751, class=0, nrcpts=1, msgid=<200810061352.m96DqH9i007404@localhost.localdomain>, proto=ESMTP, daemon=MTA, relay=localhost.localdomain [127.0.0.1]
Oct 6 21:52:17 localhost sendmail[7406]: m96DqHTi007405: forward /home/oracle/.forward.localhost: World writable directory
Oct 6 21:52:17 localhost sendmail[7406]: m96DqHTi007405: forward /home/oracle/.forward: World writable directory
Oct 6 21:52:17 localhost sendmail[7404]: m96DqH9i007404: to=oracle, ctladdr=oracle (501/501), delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=30472, relay=[127.0.0.1] [127.0.0.1], dsn=2.0.0, stat=Sent (m96DqHTi007405 Message accepted for delivery)
Oct 6 21:52:17 localhost sendmail[7406]: m96DqHTi007405: to=<oracle@localhost.localdomain>, ctladdr=<oracle@localhost.localdomain> (501/501), delay=00:00:00, xdelay=00:00:00, mailer=local, pri=30966, dsn=2.0.0, stat=Sent
long5973 2008-10-06
  • 打赏
  • 举报
回复
在上述过程中,后台服务sendmail是正在运行状态!
long5973 2008-10-06
  • 打赏
  • 举报
回复
以oracle用户 crontab -l如下:
*/1 **** /backupGZGA.sh 1>>/gzgaCronlog.log 2>>/gzgaCronlog.log;cat /gzgaCronlog.log|sendmail xxx@163.com "GZGA Backup Mission Finished!"

var/spool/mail/oracle下的内容:
From oracle@localhost.localdomain Mon Oct 6 21:38:17 2008
Return-Path: <oracle@localhost.localdomain>
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by localhost.localdomain (8.13.8/8.13.8) with ESMTP id m96DcHPH006171
for <oracle@localhost.localdomain>; Mon, 6 Oct 2008 21:38:17 +0800
Received: (from oracle@localhost)
by localhost.localdomain (8.13.8/8.13.8/Submit) id m96DcHJm006170;
Mon, 6 Oct 2008 21:38:17 +0800
Date: Mon, 6 Oct 2008 21:38:17 +0800
Message-Id: <200810061338.m96DcHJm006170@localhost.localdomain>
From: root@localhost.localdomain (Cron Daemon)
To: oracle@localhost.localdomain
Subject: Cron <oracle@localhost> /backupGZGA.sh 1>>/tmp/gzgaCronLog.log 2>>/tmp/gzgaCronLog.log;cat /tmp/gzgaCronLog.log|sendmail long5973@163.com "GZGA Backup Mission Finished!"
Content-Type: text/plain; charset=UTF-8
Auto-Submitted: auto-generated
X-Cron-Env: <SHELL=/bin/sh>
X-Cron-Env: <HOME=/home/oracle>
X-Cron-Env: <PATH=/usr/bin:/bin>
X-Cron-Env: <LOGNAME=oracle>
X-Cron-Env: <USER=oracle>

/bin/sh: sendmail: command not found

请教上述日志显示什么意思?如何修改才能实现怎样实现 "脚本被CRON自动调用执行完成后把整个执行过程中终端中产生的日志及提示信息输入到\gzgaCronLog.log文件中去,向XXXX@163.com发个邮件标题为GZGA Mission Finished.并发送附件gzgaCronLog.log.






ll_0605 2008-10-05
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 cloudflashes 的回复:]

在你的脚本执行后,可以调用sendmail发送邮件(请先确认你机器上已经安装并配置了sendmail):
*/1 **** “/backupGZGA.sh 1>>/gzgaCronlog.log 2>>/gzgaCronlog.log;cat /gzgaCronlog.log|sendmail xxx@163.com “内容”
[/Quote]
这句话是怎么个意思,我没看懂怎么个意思?尤其是红色部分!能解释下吗?
*****************************************************************************
.脚本被CRON自动调用执行完成后向终端中发送提示信息:"XXXX年XX月XX日XX时XX分XX秒 GZGA Mission Finished Pls check ur mail",当前用户没有打开终端就自动开启一个终端发送粗体提示信息:"XXXX年XX月XX日XX时XX分XX秒 GZGA Mission Finished" ,提示信息最好在终端的正中央!
上述功能在cron里怎么实现还请高人明示啊!


cceczjxy 2008-10-05
  • 打赏
  • 举报
回复
crontab时,你加上用户名。
有没有执行权限
cloudflashes 2008-10-05
  • 打赏
  • 举报
回复

如果要把执行中的提示信息写入到文件中,只要重定向输出就行了:
*/1 **** /backupGZGA.sh 1>>/gzgaCronlog.log 2>>/gzgaCronlog.log
1是标准输出信息,2是错误信息。

在你的脚本执行后,可以调用sendmail发送邮件(请先确认你机器上已经安装并配置了sendmail):
*/1 **** “/backupGZGA.sh 1>>/gzgaCronlog.log 2>>/gzgaCronlog.log;cat /gzgaCronlog.log|sendmail xxx@163.com “内容”


cron是为调度任务而设计的。如果你的任务执行还需要更多的控制(比如你要显示完成后的提示,要发送邮件给管理员),把它们加在脚本里。
long5973 2008-10-05
  • 打赏
  • 举报
回复
/backupGZGA.sh在根目录下被cron自动调用执行已测试通过,其脚本内容如下:
#!/bin/bash
echo "Begin backup databases.....CentOS5.1_gzga"
export ORACLE_HOME=/u01/app/oracle/product/10.2.0.1
export ORACLE_SID=gzga
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
rq=`date +%y%m%d`
echo "Starting time:"`date`
$ORACLE_HOME/bin/exp ksxt/1234 owner=ksxt file=/backup/exp_${rq}.dmp log=/backup/exp_${rq}.log
lftp -c "open 192.168.0.100;user vaio 123950;mirror -R /backup;put /backupGZGA.sh"
rq=`date +%y%m%d_%H`
echo "Export mission over!"
echo "End time:"`date`
*****************************************************************
在上述脚本中怎样实现 1."脚本被CRON自动调用执行完成后把整个执行过程中终端中产生的日志及提示信息输入到\gzgaCronLog.log文件中去,向XXXX@163.com发个邮件标题为GZGA Mission Finished.并发送附件gzgaCronLog.log.
2."脚本被CRON自动调用执行完成后向终端中发送提示信息:"XXXX年XX月XX日XX时XX分XX秒 GZGA Mission Finished Pls check ur mail",当前用户没有打开终端就自动开启一个终端发送粗体提示信息:"XXXX年XX月XX日XX时XX分XX秒 GZGA Mission Finished" ,提示信息最好在终端的正中央!

非常感谢!
long5973 2008-10-05
  • 打赏
  • 举报
回复
LS高人,root用户在crontab语句该加到什么位置?
能不能把我的需求写到一个crontab语句里表示出来?
long5973 2008-10-04
  • 打赏
  • 举报
回复
不行啊!我把source ~/.bash_profile 这句话去掉了,也不执行啊!
etc/cron.d/backupGZGA.sh脚本如下:
###!/bin/bash
echo "Begin backup databases.....CentOS5.1_gzga"
export ORACLE_HOME=/u01/app/oracle/product/10.2.0.1
export ORACLE_SID=gzga
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
rq=`date +%y%m%d`
echo "导出前时间:" `date`
$ORACLE_HOME/bin/exp ksxt/1234 owner=ksxt file=/backup/exp_${rq}.dmp log=/backup/exp_${rq}.log
cp /backup/*.dmp /root/
ls -l backup
lftp -c "open 192.168.0.100;user vaio 123950;mirror -R /backup;put backupGZGA.sh"
rq=`date +%y%m%d_%H`
echo "ExportGZGA under ksxt mission over!"
echo "导出后时间: " `date`

**********************************************************************************************************************
/var/log/cron:
Oct 4 18:42:33 localhost crontab[4578]: (oracle) LIST (oracle)
Oct 4 18:42:37 localhost crontab[4579]: (oracle) BEGIN EDIT (oracle)
Oct 4 18:43:04 localhost crontab[4579]: (oracle) END EDIT (oracle)
Oct 4 18:44:05 localhost crontab[4648]: (oracle) BEGIN EDIT (oracle)
Oct 4 18:44:15 localhost crontab[4648]: (oracle) END EDIT (oracle)
Oct 4 18:44:18 localhost crontab[4650]: (oracle) LIST (oracle)
Oct 4 18:45:00 localhost crond[4720]: (CRON) STARTUP (V5.0)
Oct 4 18:48:01 localhost crond[4720]: (*system*) BAD FILE MODE (/etc/cron.d/backupGZGA.sh)
Oct 4 18:49:01 localhost crond[4720]: (*system*) BAD FILE MODE (/etc/cron.d/backupGZGA.sh)
************************************************************************************************************************
[oracle@localhost /]$ crontab -l
*/1**** /backupGZGA.sh

请教错误原因?具体如何解决?






cloudflashes 2008-10-04
  • 打赏
  • 举报
回复
是因为文件路径的问题。

backupGZGA.sh中,像source ~/.bash_profile 这样的命令,通过crontab执行的时候,因为环境不同,是找不到.bash_profile文件的路径的。改用绝对路径访问。
long5973 2008-10-03
  • 打赏
  • 举报
回复
CentOS5.1桌面-》系统-》管理-》服务 重启:crond服务
/var/spool/cron下oracle文件内容:
*/1**** backupGZGA.sh

/etc/cron.d/有backupGZGA.sh脚本。

var/log/cron:
Oct 3 20:00:35 localhost crond[15309]: (CRON) STARTUP (V5.0)
Oct 3 20:00:35 localhost crond[15309]: (*system*) BAD FILE MODE (/etc/crontab)
Oct 3 20:00:35 localhost crond[15309]: (*system*) BAD FILE MODE (/etc/cron.d/backupGZGA.sh)
Oct 3 20:03:01 localhost crond[15309]: (*system*) BAD FILE MODE (/etc/crontab)
Oct 3 20:03:01 localhost crond[15309]: (*system*) BAD FILE MODE (/etc/cron.d/backupGZGA.sh)
Oct 3 20:03:01 localhost crond[15309]: (未命名文件夹) ORPHAN (no passwd entry)
Oct 3 20:03:53 localhost crontab[15522]: (oracle) LIST (oracle)
Oct 3 20:04:01 localhost crond[15309]: (*system*) BAD FILE MODE (/etc/crontab)
Oct 3 20:04:01 localhost crond[15309]: (*system*) BAD FILE MODE (/etc/cron.d/backupGZGA.sh)
Oct 3 20:04:01 localhost crond[15309]: (oracle) NOT REGULAR (cron/oracle)
Oct 3 20:04:29 localhost crontab[15558]: (oracle) LIST (oracle)
Oct 3 20:04:55 localhost crond[15668]: (CRON) STARTUP (V5.0)
Oct 3 20:04:55 localhost crond[15668]: (*system*) BAD FILE MODE (/etc/crontab)
Oct 3 20:04:55 localhost crond[15668]: (*system*) BAD FILE MODE (/etc/cron.d/backupGZGA.sh)
Oct 3 20:07:26 localhost crontab[15760]: (oracle) LIST (oracle)

/etc/crontab:
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
# run-parts
01 * * * * root run-parts /etc/cron.hourly
02 4 * * * root run-parts /etc/cron.daily
22 4 * * 0 root run-parts /etc/cron.weekly
42 4 1 * * root run-parts /etc/cron.monthly

请教高手CRON不执行脚本和出错的原因,具体该如何解决?
ll_0605 2008-10-03
  • 打赏
  • 举报
回复
[oracle@localhost /]$ crontab -l
*/1**** /backupGZGA.sh
需要改成*/1**** /bin/bash /backupGZGA.sh吗?还是我的脚本在在WINXP下编辑过的原因?
ll_0605 2008-10-03
  • 打赏
  • 举报
回复
是我定制crontab任务语句和编码有问题吗?
guoli0813 2008-10-03
  • 打赏
  • 举报
回复
坐板凳,听楼下解说
ll_0605 2008-10-03
  • 打赏
  • 举报
回复
up
Linux 简介Linux 内核最初只是由芬兰人林纳斯·托瓦兹(Linus Torvalds)在赫尔辛基大学上学时出于个人爱好而编写的。Linux 是一套免费使用和自由传播的类 Unix 操作系统,是一个基于 POSIX 和 UNIX 的多用户、多任务、支持多线程和多 CPU 的操作系统。Linux 能运行主要的 UNIX 工具软件、应用程序和网络协议。它支持 32 位和 64 位硬件。Linux 继承了 Unix 以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。Linux 的发行版Linux 的发行版说简单点就是将 Linux 内核与应用软件做一个打包。目前市面上较知名的发行版有:Ubuntu、RedHat、CentOS、Debian、Fedora、SuSE、OpenSUSE、Arch Linux、SolusOS 等。Linux 应用领域今天各种场合都有使用各种 Linux 发行版,从嵌入式设备到超级计算机,并且在服务器领域确定了地位,通常服务器使用 LAMP(Linux + Apache + MySQL + PHP)或 LNMP(Linux + Nginx+ MySQL + PHP)组合。目前 Linux 不仅在家庭与企业中使用,并且在政府中也很受欢迎。巴西联邦政府由于支持 Linux 而世界闻名。有新闻报道俄罗斯军队自己制造的 Linux 发布版的,做为 G.H.ost 项目已经取得成果。印度的 Kerala 联邦计划在向全联邦的高中推广使用 Linux。中华人民共和国为取得技术独立,在龙芯处理器中排他性地使用 Linux。在西班牙的一些地区开发了自己的 Linux 发布版,并且在政府与教育领域广泛使用,如 Extremadura 地区的 gnuLinEx 和 Andalusia 地区的 Guadalinex。葡萄牙同样使用自己的 Linux 发布版 Caixa Mágica,用于 Magalh?es 笔记本电脑和 e-escola 政府软件。法国和德国同样开始逐步采用 Linux。Linux vs Windows目前国内 Linux 更多的是应用于服务器上,而桌面操作系统更多使用的是 Windows。主要区别如下比较WindowsLinux界面界面统一,外壳程序固定所有 Windows 程序菜单几乎一致,快捷键也几乎相同图形界面风格依发布版不同而不同,可能互不兼容。GNU/Linux 的终端机是从 UNIX 传承下来,基本命令和操作方法也几乎一致。驱动程序驱动程序丰富,版本更新频繁。默认安装程序里面一般包含有该版本发布时流行的硬件驱动程序,之后所出的新硬件驱动依赖于硬件厂商提供。对于一些老硬件,如果没有了原配的驱动有时很难支持。另外,有时硬件厂商未提供所需版本的 Windows 下的驱动,也会比较头痛。由志愿者开发,由 Linux 核心开发小组发布,很多硬件厂商基于版权考虑并未提供驱动程序,尽管多数无需手动安装,但是涉及安装则相对复杂,使得新用户面对驱动程序问题(是否存在和安装方法)会一筹莫展。但是在开源开发模式下,许多老硬件尽管在Windows下很难支持的也容易找到驱动。HP、Intel、AMD 等硬件厂商逐步不同程度支持开源驱动,问题正在得到缓解。使用使用比较简单,容易入门。图形化界面对没有计算机背景知识的用户使用十分有利。图形界面使用简单,容易入门。文字界面,需要学习才能掌握。学习系统构造复杂、变化频繁,且知识、技能淘汰快,深入学习困难。系统构造简单、稳定,且知识、技能传承性好,深入学习相对容易。软件每一种特定功能可能都需要商业软件的支持,需要购买相应的授权。大部分软件都可以自由获取,同样功能的软件选择较少。Shell 脚本Shell 脚本shell script),是一种为 shell 编写的脚本程序。业界所说的 shell 通常都是指 shell 脚本,但读者朋友要知道,shellshell script 是两个不同的概念。由于习惯的原因,简洁起见,本文出现的 shell编程 都是指 shell 脚本编程,不是指开发 shell 自身。Shell 环境Shell 编程跟 JavaScript、php 编程一样,只要有一个能编写代码的文本编辑器和一个能解释执行的脚本解释器就可以了。Linux 的 Shell 种类众多,常见的有:Bourne Shell(/usr/bin/sh或/bin/sh)Bourne Again Shell(/bin/bash)C Shell(/usr/bin/csh)K Shell(/usr/bin/ksh)Shell for Root(/sbin/sh)……本教程关注的是 Bash,也就是 Bourne Again Shell,由于易用和免费,Bash 在日常工作中被广泛使用。同时,Bash 也是大多数Linux 系统默认的 Shell。在一般情况下,人们并不区分 Bourne Shell 和 Bourne Again Shell,所以,像 #!/bin/sh,它同样也可以改为 #!/bin/bash。#! 告诉系统其后路径所指定的程序即是解释此脚本文件Shell 程序。第一个shell脚本打开文本编辑器(可以使用 vi/vim 命令来创建文件),新建一个文件 test.sh,扩展名为 sh(sh代表shell),扩展名并不影响脚本执行,见名知意就好,如果你用 php 写 shell 脚本,扩展名就用 php 好了。输入一些代码,第一行一般是这样:实例#!/bin/bashecho Hello World !

23,120

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧