crontab 中的脚本仅在等于或超过某个值时才执行

Script in crontab to be executed only if is equal or exceeds a value

我目前在 crontab 中有一个用于 rsync(和其他一些小东西)的脚本。现在脚本每 5 分钟执行一次。我修改了脚本以从 rsync 部分查找特定行(来自我的机器的示例,而不是实际代码):

#!/bin/bash

Number=`/usr/bin/rsync -n --stats -avz -e ssh 1/ root@127.0.0.1 | grep "Number of regular files transferred" | cut -d':' -f 2 | tr -d 04042`
echo $Number

假设数字是 10。如果数字是 10 或以下,我希望脚本通过 crontab 执行。但是,如果数字更大,我只想手动执行。

有什么想法吗?

也许你可以使用一个参数来手动执行它,例如:

if [[ $Number -le 10 ||  == true ]];then
    echo "executing script..."
fi

如果 $Number 小于或等于 10 或者如果您使用 true 作为第一个位置参数执行它,那么如果 $Number 大于比 10 它不会在您的 crontab 中执行,您可以使用 ./your_script true.

手动执行脚本