在 Debian 8.1 上,我使用Bash功能来检测是否可以访问 stackoverflow.com 网站:
(echo >/dev/tcp/stackoverflow.com/80 ) &>/dev/null || 回声“无法访问stackoverflow”
这是 Bash 特定的sh,在cron.
如果我们故意尝试 中的脚本sh,我们会得到:
$ /bin/sh: 1: cannot create /dev/tcp/stackoverflow.com/80: Directory nonexistent
因此,如果我只将以下内容放在我的个人 crontab 中(没有设置SHELL为/bin/bash) via crontab -e,我希望每分钟执行一次脚本,因此我希望每分钟每封邮件发送一次上述错误:
* * * * * (echo >/dev/tcp/stackoverflow.com/80) &>/dev/null || 回声“无法访问stackoverflow”
事实上,正如预期的那样,我们从/var/log/syslog条目中看到每分钟执行一次:
# sudo grep stackoverflow /var/log/syslog Aug 24 18:58:01 localhost CRON[13719]: (mat) CMD ((echo >/dev/tcp/stackoverflow.com/80) &>/dev/null ||回声“无法访问stackoverflow”) 8 月 24 日18:59:01本地主机 CRON[13723]: …