Chinaunix

标题: 直接可以执行,但在crontab中不能执行 [打印本页]

作者: faceDragon    时间: 2010-11-04 14:06
标题: 直接可以执行,但在crontab中不能执行
将以日期命名的目录tar到磁带机。
直接执行没问题
tar cvf /dev/st0 `date +%Y%m%d`

crontab中执行不了
0 12 * * * tar cvf /dev/st0 `date +%Y%m%d`                                #archive the backup files daily

crontab中日志
Nov  4 12:00:01 dbbackup crond[22652]: (root) CMD (tar cvf /dev/st0 `date +)


难道是转义字符问题?求解,谢谢
作者: chenyx    时间: 2010-11-04 14:13
tar写绝对路径
最好把命令写到一个单独的脚本中
作者: 一路征程一路笑    时间: 2010-11-04 15:00
提示: 作者被禁止或删除 内容自动屏蔽
作者: cst05001    时间: 2010-11-04 15:08
支持2楼。建议把命令写到脚本里。然后用cron调用脚本。
作者: vermouth    时间: 2010-11-04 15:25
你这个 tar 有问题吧?
作者: faceDragon    时间: 2010-11-04 15:51
我也试过这样,一样不能执行
0 12 * * * cd /u02/dbback/ebsdb;tar cvf /dev/st0 `date +%Y%m%d`                                #archive the backup files daily
Nov  4 12:00:01 dbbackup crond[22652]: (root) CMD (cd /u02/dbback/ebsdb;tar cvf /dev/st0 `date +)

就两条命令非要写成一个脚本吗?
作者: liwei6998    时间: 2010-11-04 16:42
tar命令写绝对路径:/sbin/tar
作者: linux_admin    时间: 2010-11-04 21:49
tar带上绝对的路径实施
作者: 版主杀手    时间: 2010-11-05 09:03
将以日期命名的目录tar到磁带机。
直接执行没问题

crontab中执行不了

crontab中日志


难道是转义 ...
faceDragon 发表于 2010-11-04 14:06



    绝对路径后加入一个 2>&1 看结果
作者: faceDragon    时间: 2010-11-05 12:47
绝对路径后加入一个 2>&1 看结果
版主杀手 发表于 2010-11-05 09:03


tar改为绝对路径:
0 12 * * * cd /u02/dbback/ebsdb;/bin/tar cvf /dev/st0 `date +%Y%m%d` >log >2&1                 #archive the backup files daily


依旧没有执行。也没有发现log文件,何解啊。
作者: 版主杀手    时间: 2010-11-05 13:16
本帖最后由 版主杀手 于 2010-11-05 13:18 编辑
tar改为绝对路径:


依旧没有执行。也没有发现log文件,何解啊。
faceDragon 发表于 2010-11-05 12:47



    >>看 把时间改为 0-59 * * * * ...... 动态看命令结果
作者: faceDragon    时间: 2010-11-05 13:26
>>看 把时间改为 0-59 * * * * ...... 动态看命令结果
版主杀手 发表于 2010-11-05 13:16



这样能看出来么。
/var/log/cron
Nov  5 13:22:01 dbbackup crond[15483]: (root) CMD (cd /u02/dbback/ebsdb;/bin/tar cvf /dev/st0 `date +)
Nov  5 13:23:01 dbbackup crond[15550]: (root) CMD (cd /u02/dbback/ebsdb;/bin/tar cvf /dev/st0 `date +)

作者: 版主杀手    时间: 2010-11-05 13:39
这样能看出来么。
/var/log/cron
faceDragon 发表于 2010-11-05 13:26



  那你干脆加个$?看命令执行结果对不对
作者: faceDragon    时间: 2010-11-05 13:50
那你干脆加个$?看命令执行结果对不对
版主杀手 发表于 2010-11-05 13:39



哪里加个$?
直接执行命令echo $? 吗,都是0
作者: 版主杀手    时间: 2010-11-05 14:22
哪里加个$?
直接执行命令echo $? 吗,都是0
faceDragon 发表于 2010-11-05 13:50



    命令改为这样看 (cd /u02/dbback/ebsdb) && (tar cvf /dev/st0 `date +%Y%m%d`)
作者: faceDragon    时间: 2010-11-05 14:50
命令改为这样看 (cd /u02/dbback/ebsdb) && (tar cvf /dev/st0 `date +%Y%m%d`)
版主杀手 发表于 2010-11-05 14:22



搞了半天还是转义符的原因,这样写就OK了。多谢兄弟这么热心。
tar cvf /dev/st0 `date +\%Y\%m\%d`
作者: 版主杀手    时间: 2010-11-05 14:54
搞了半天还是转义符的原因,这样写就OK了。多谢兄弟这么热心。
tar cvf /dev/st0 `date +\%Y\%m\%d`
faceDragon 发表于 2010-11-05 14:50



    没事 我也学到了呗
作者: hmxxyy    时间: 2010-11-06 04:41
回复 1# faceDragon


    %在crontab中有特殊含义,应该用date + \%Y...
作者: ktty445655619    时间: 2010-11-06 22:34
tar改为绝对路径:


依旧没有执行。也没有发现log文件,何解啊。
faceDragon 发表于 2010-11-05 12:47



   
绝对路径写错了。。。。。~_~ /sbin/tar
作者: faceDragon    时间: 2010-11-07 10:54
绝对路径写错了。。。。。~_~ /sbin/tar
ktty445655619 发表于 2010-11-06 22:34



sbin下没有tar,确实在bin下的。
其实不用绝对路径,直接写tar可以执行的。
作者: jason0127    时间: 2010-11-09 16:11
本帖最后由 jason0127 于 2010-11-09 16:13 编辑

{:3_179:}
作者: ykaing    时间: 2010-11-09 17:44
顶!
作者: xuxd32    时间: 2011-01-13 17:42
提示: 作者被禁止或删除 内容自动屏蔽
作者: taojie2000    时间: 2011-01-13 17:57
回复 24# xuxd32


    不能执行 就看var log 里 日志  还有 root 的信箱!   里面有提示为什么!
作者: a774050174    时间: 2011-01-14 08:48
执行root下面的环境变量.profile文件,在脚本执行操作前面需要加入/root/.profile环境变量文件
作者: xuxd32    时间: 2011-01-14 09:48
提示: 作者被禁止或删除 内容自动屏蔽




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2