Linux在执行shell脚本时提示find: command not found,单独执行该命令可以正常执行
执行时提示一下命令./backup.sh:line45:date:commandnotfound//对应生成日子中显示日期./backup.sh:line47:find:...
执行时提示一下命令
./backup.sh: line 45: date: command not found //对应生成日子中显示日期
./backup.sh: line 47: find: command not found //对应删除备份
#!/bin/bash
#设置日志文件,提前建好log目录
LogFile=/home/oracle/bin/log/`date +"%Y-%m-%d"`.log
echo "backup start at $(date +"%Y-%m-%d %H:%M:%S")" >$LogFile
echo "backup end at $(date +"%Y-%m-%d %H:%M:%S")" >$LogFile
echo "start open ftp server at $(date +"%Y-%m-%d %H:%M:%S")" > $LogFile
echo "put ftp end at $(date +"%Y-%m-%d %H:%M:%S")" >$LogFile
#最后上传完毕后再查看本地备份大于7天的自动删除,这样就可以实现本地异地双备份
find /backup/datadmp -type f -mtime +8 -exec rm -f {} \;
exit 0
其中就第一个echo中能正常显示出时间来,其他的都提示date: command not found 展开
./backup.sh: line 45: date: command not found //对应生成日子中显示日期
./backup.sh: line 47: find: command not found //对应删除备份
#!/bin/bash
#设置日志文件,提前建好log目录
LogFile=/home/oracle/bin/log/`date +"%Y-%m-%d"`.log
echo "backup start at $(date +"%Y-%m-%d %H:%M:%S")" >$LogFile
echo "backup end at $(date +"%Y-%m-%d %H:%M:%S")" >$LogFile
echo "start open ftp server at $(date +"%Y-%m-%d %H:%M:%S")" > $LogFile
echo "put ftp end at $(date +"%Y-%m-%d %H:%M:%S")" >$LogFile
#最后上传完毕后再查看本地备份大于7天的自动删除,这样就可以实现本地异地双备份
find /backup/datadmp -type f -mtime +8 -exec rm -f {} \;
exit 0
其中就第一个echo中能正常显示出时间来,其他的都提示date: command not found 展开
6个回答
展开全部
尝试加一下命令的绝对路径 , 比如 date 换成 /usr/sbin/date
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2014-08-21
展开全部
你添加了指定解析器的说明了吗? #!/bin/sh
写在开头第一行~
最好把代码贴出来看看。
写在开头第一行~
最好把代码贴出来看看。
更多追问追答
追问
#!/bin/bash 说明了这个
追答
因为你其他的date都没有加执行符号 【·】 你看看你的第一个date和后面几个有何区别,就是在date前面一个字符
而且文件内容追加的话需要用 【>>】号。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
查一下PATH环境变量,shell没有获取到。
更多追问追答
追问
具体怎么操作?
追答
1、你可以写个脚本测试一下
#!/bin/sh
echo $PATH > path.txt
2、你可以检查~/.bash_profile,/etc/profile
3、你可以在自己的脚步增加变量
PATH=$PATH:/usr/bin:/bin
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
写绝对路径
更多追问追答
追问
怎么写能具体说下么
追答
/bin/date
/usr/bin/find
之类的有可能不一样
用whereis 或者which 找出绝对路径
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询