shell脚本查找日期和时间并执行后续步骤

shell脚本查找日期和时间并执行后续步骤

我有一个场景,我需要根据日期执行 shell 脚本。这是代码:

cd /home/test/check
perl test.pl check.ini parameters

我只想在当天不是星期四时执行这两行,如果当天是星期四,则不应执行以下行。我怎样才能实现同样的目标我对 shell 脚本很陌生,感谢任何帮助。

答案1

用于date "+%u"获取数字星期几(1 表示星期一)。

if [ $(date "+%u") !=  "4" ]; then
   cd /home/test/check
   perl test.pl check.ini parameters
fi 

答案2

您可以使用crontab在特定时间执行脚本。使用编辑 crontabcrontab -e

 # Use the hash sign to prefix a comment
    # +---------------- minute (0 - 59)
    # |  +------------- hour (0 - 23)
    # |  |  +---------- day of month (1 - 31)
    # |  |  |  +------- month (1 - 12)
    # |  |  |  |  +---- day of week (0 - 7) (Sunday=0 or 7)
    # |  |  |  |  |
    # *  *  *  *  *  command to be executed
    #--------------------------------------------------------------------------

例如,除周四外,每天上午 11:59 运行。 :

59 11 * * 1,2,3,5,6,7 nohup /usr/local/bin/perl  /home/test/check/perl.pl check parameters > /tmp/script.log 2>&1

答案3

它每周运行 6 天,并且是相当自我记录的。替换||如果您只想在星期四运行 1 天,则使用 && 。

cd /home/test/check
date | egrep '^Thu ' || perl test.pl check.ini parameters

相关内容