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
.
手动执行脚本
我目前在 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
.