【问题标题】:Will missed shebang stop the script for running会错过 shebang 停止脚本运行
【发布时间】:2023-04-05 04:43:01
【问题描述】:

我有一个 crontab 作业来清除 /var/log/nginx 文件夹中的日志。 crontab 是这样设置的:

15 23 * * * /scripts/logcleanup.sh > /dev/null 2>&1

logcleanup.sh 脚本很简单,只有两行:

find /var/log/nginx -mtime +5 -type f -delete;
find /var/log/nginx -size +50M -type f -delete;

我认为脚本将在每晚 23:15 运行。但是,它不会被执行,大于 50 MB 的文件仍在日志文件夹中。是因为丢失了社帮“#!/usr/bin/env bash”造成的吗?

谢谢。

【问题讨论】:

  • 没有足够的信息可以说明。为什么shebang不见了?为什么不直接添加呢? (为什么是#!/usr/bin/env bash 而不是#!/bin/bash?)最后,logcleanup.sh 是可执行的吗?

标签: cron


【解决方案1】:

将输出重定向到日志文件而不是/dev/null 以获得反馈:

15 23 * * * /scripts/logcleanup.sh > ~/logcleanup.sh.log 2>&1

所有错误都会被记录下来,希望您能找出问题所在。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-27
    • 2020-03-24
    • 1970-01-01
    • 2021-02-13
    • 2021-06-20
    • 1970-01-01
    相关资源
    最近更新 更多