你好,这纯粹是练习我的cronjob 这是我下面的bash脚本:
#!/bin/bash
grep $1 $2
rc=$?
if [ $rc != 0 ]
then
echo "specified string $1 not present in $2"
else
echo "specified string $1 is present in the file $2"
fi
# number of lines of in a file
wc -l $2 | awk '{print $1}'
以下是我的crontab:
20 16 * * * /home/mbarrett/Desktop/ ./find_string.sh sam text_string.file > /var/log/backupstring.log 2>&1
对我可能做错的任何建议吗?
答案 0 :(得分:-1)
命令开头有Desktop
目录,该目录将尝试将其作为程序执行,将无法运行。如果要从该目录运行脚本,则需要执行cd
命令将其更改为该脚本。
20 16 * * * cd /home/mbarrett/Desktop/; ./find_string.sh sam text_string.file > /var/log/backupstring.log 2>&1
还要养成始终在脚本中引用变量的习惯。如果模式或文件名包含空格,则您编写的脚本将无效。