执行时提示一下命令
./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
#!/bin/bash 说明了这个
追答因为你其他的date都没有加执行符号 【·】 你看看你的第一个date和后面几个有何区别,就是在date前面一个字符
而且文件内容追加的话需要用 【>>】号。
开始就第一个那是> ,其他的都是>>着,但就第一个可以正常执行,我就把别的也都改成>了,我这命令就是直接复制的呀,实在找不出哪不同,帮帮我看看应该在哪加这个符号啊
本回答被提问者采纳具体怎么操作?
追答1、你可以写个脚本测试一下
#!/bin/sh
echo $PATH > path.txt
2、你可以检查~/.bash_profile,/etc/profile
3、你可以在自己的脚步增加变量
PATH=$PATH:/usr/bin:/bin
我echo中为什么第一个正确执行了,其他的都不能输出时间呢
追答把>改成>>,>号会清除之前的记录
怎么写能具体说下么
追答/bin/date
/usr/bin/find
之类的有可能不一样
用whereis 或者which 找出绝对路径
找出find的绝对路径么?然后怎么在脚本中写呢
追答就写绝对路径如:/usr/bin/find