我试图配置crontab以在不同时间执行文件中不同的代码行。我基本上有一个启动一些java -jar的bash脚本文件。问题是每一行应该在不同的时间执行。我可以配置crontab在不同的时间运行整个脚本,但没有要运行的行。现在,重要的是bash文件只保留一个文件,而不是分解为几个文件。 谢谢!
答案 0 :(得分:2)
一种方法(通过cron传递的命令行参数)
some_script.sh:
if test $1 = 1 ; then
# echo "1 was entered"
java -jar some_file.jar
elif test $1 = 2 ; then
# echo "2 was entered"
java -jar another_file.jar
fi
crontab示例:
* 1 * * * /bin/bash /home/username/some_script.sh 1
* 2 * * * /bin/bash /home/username/some_script.sh 2
另一种方法(在bash脚本中完成小时匹配)
some_script.sh:
hour=$(date +"%H");
if test $hour = 1 ; then
# echo "the hour is 1";
java -jar some_file.jar
elif test $hour = 2 ; then
# echo "the hour is 2";
java -jar another_file.jar
fi
crontab示例:
* 1 * * * /bin/bash /home/username/some_script.sh
* 2 * * * /bin/bash /home/username/some_script.sh