当前位置:  技术问答>linux和unix

shell脚本运行出错

    来源: 互联网  发布时间:2016-12-14

    本文导语:  我做mysql数据库备份,发现了一个很诡异的事情,写了脚本,手动运行可以的,但是假如crontab之后运行,发现到压缩(tar)的时候就出错了,这是为什么呢?以下附脚本: test -d $BACKUP/$NOW || mkdir  $BACKUP/$NOW DBS="spp_...

我做mysql数据库备份,发现了一个很诡异的事情,写了脚本,手动运行可以的,但是假如crontab之后运行,发现到压缩(tar)的时候就出错了,这是为什么呢?以下附脚本:
test -d $BACKUP/$NOW || mkdir  $BACKUP/$NOW
DBS="spp_vbb"
for db in $DBS
do
### Create dir for each databases, backup tables in individual files ###
  test -d $BACKUP/$db-$NOW && rm -fr  $BACKUP/$db-$NOW
  mkdir $BACKUP/$db-$NOW
  echo "####################$db####################" >> $LOGFILE
  for i in `echo "show tables" | $MYSQL -u $MUSER -h $MHOST -p$MPASS $db | grep -v Tables_in_`
  do
   # FILE=$BACKUP/$NOW/$db/$i.sql.gz
    echo $i
    $BACKSCRIPT $db $i --result-file=$BACKUP/$db-$NOW/$i.sql 2>> $LOGFILE
    #MDATE=`date +%m`
  done
    cd $BACKUP/
    $TAR -zvcf $db-$NOW.tar.gz $db-$NOW 2>> $LOGFILE   #此处就会出错,我在目录下找不到tar包,可以找到spp_vbb-20110707的目录
    $CHMOD 0777 $db-$NOW.tar.gz
    if [ $? -eq 0 ]; then
     rm -fr $db-$NOW
    fi
  echo "$DATENOW DATABASE  $db  AS  $db-$NOW.tar.gz" >> $LOGFILE
  mv $db-$NOW.tar.gz $NOW/
done
echo "$DATENOW DATABASE AS  $NOW.tar.gz  ok" >> $LOGFILE
exit 0

|
执行的时候把输出信息定向一下,看看
your.sh 1>/tmp/1.out 2>/tmp/2.out

|
在crontab中执行时定向一下

|
估计和你的环境变量有关
cron跑的时候没有对应的环境,把tar的执行目录写全呢?

|
这种情况十有八九是PATH和tar中绝对路径的问题,仔细检查

    
 
 

您可能感兴趣的文章:

  • shell脚本如何调用另外一个shell脚本的函数?
  • 急救!关于Shell脚本删除过期文件的问题,Shell脚本达人乱入
  • shell 脚本中命令别名在脚本外无法使用
  • 傻瓜问题,请问shell编程和shell脚本编程的关系
  • C语言调用shell脚本后,通过何种方法能获取脚本中变量的值
  • 想用shell脚本定时执行另一个脚本
  • 一个shell执行另一个带参数shell脚本????????????
  • 如何给shell脚本加密,脚本中有密码。最好是比较直接的,不要说让用 shc
  • Shell脚本调用Sql脚本并向其中传递变量
  • 请问,Shell中如何执行另外一个Shell脚本?
  • 如何传递参数给linux shell 脚本(当脚本从标准输入而不是从文件获取时)
  • nohup执行的shell脚本,全局变量不能传递到脚本中使用吗?
  • cd、zip等命令在shell提示符下能执行,在shell脚本中为什么不能执行呢?
  • shell脚本问题 关于父脚本和子脚本的问题
  • shell脚本错误输出
  • 请教shell脚本启动程序
  • 关于shell脚本的。
  • 关于arm linux下的别名配置脚本如何在进入用户时让shell执行的问题,如bashrc,profile,.bash_profile等脚本,寻求高手解答
  • 高分请教关于Shell脚本执行中断问题?
  • linux shell脚本
  • 我的shell程序怎么老是出错
  • Linux Shell提示符出错,并发出警报声
  • shell 调用java程序出错
  • shell编程中的判断语句,为何老是出错。
  • spec 文件里使用 shell 命令出错,是为什么呀?
  • 用shell脚本修改用户密码,为什么出错?
  • shell这样写法为什么会出错
  • 关于ssh secure shell连接linux出错的问题,急,谢谢
  • linux shell中gcc file.c -o myfile出错
  • linux shell脚本 linux crond 的一个鲜为人知的错误,单独执行没问题,放到crond 中就执行出错 试问高手们哪个环节出错
  • shell脚本中source文件出错
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Linux下指定运行时加载动态库路径及shell下执行程序默认路径
  • HP机上shell运行问题!写了个环境设定的shell,怎么也运行不了,大家来看看!
  • CSS属性参考手册 iis7站长之家
  • 怎么写shell代码 写好shell怎么运行?
  • 关于shell脚本手动运行和自动运行的区别
  • 如何写一个shell,记下哪个用户(包括IP)用rsh运行了这个shell
  • 如何用c shell实现让一个a.exe在后台运行,请给出shell代码
  • Linux程序中运行shell命令
  • linux shell脚本不重复在后台运行,急急急
  • 请教关于多个shell脚本后台运行的问题!
  • 如何用SHELL命令运行一个文件?
  • 如何查看shell 运行的记录
  • 谁知道kdevelop中的槽(slot)中如何运行shell脚本
  • 怎么同时运行两个shell
  • 在SHELL下写的脚本如何运行?
  • 在Shell中运行命令后加上一个 "&";有什么作用?
  • 自己写的批量建立用户的shell无法运行~~~~~
  • 问一个shell运行环境的问题
  • unix shell中能否将后台运行程序的输出保存到变量中?
  • opensuse下如何开机自动运行shell命令?
  • shell怎么编 自动运行一些命令?
  • Centos6下安装Shell下文件上传下载rz,sz命令
  • 不同类型的shell*(K SHELL , C SHELL) 用命令怎么切换?
  • linux bash shell命令:grep文本搜索工具简介
  • 我在执行shell时,想在shell里直接向mysql数据库插入数据,我该如何写shell。
  • linux bash shell命令:文本搜索工具grep中用于egrep和 grep -E的元字符扩展集
  • 菜鸟问问题:shell是什么呢?普通的ls、cp、pwd这些命令算不算shell呢?如何把自己写的文件变成shell呢?
  • linux bash shell命令:文本搜索工具Grep命令选项及实例
  • shell变量和子shell的问题请教
  • linux bash shell命令:文本搜索工具grep正则表达式元字符集(基本集)
  • 请问“当前shell”和“子shell”的区别?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3