我该如何编写一个简单的 cron 作业,在特定时间通过电子邮件向自己发送消息?此外,是否可以创建没有 root 访问权限的 cron 作业。我正在尝试使用学校的服务器?
答案1
检查你的名字是否出现在文件 /etc/cron.allow 中
如果您的名字没有列在 /etc/cron.allow 中,而 /etc/cron.deny 中也没有列出,则可以使用 crontab。如果两个文件都不存在,那么很遗憾只有 root 用户可以使用 crontab。
crontab -e
您可以在 crotab 中按照下面的模式选择作业。
* * * * * /path/to/script.sh
- - - - -
| | | | |
| | | | +----- day of week (0 - 6) (Sunday=0)
| | | +------- month (1 - 12)
| | +--------- day of month (1 - 31)
| +----------- hour (0 - 23)
+------------- min (0 - 59)
创建一个简单的如下示例来向您发送邮件:
#!/bin/sh
EMAILID="your@email"
MAIL=/tmp/mail.$$
echo "Line 1">$MAIL
echo "Line 2" >>$MAIL
echo "Line 3" >>$MAIL
...
mail -s "Subject" "$EMAILID" <$MAIL
rm -f $MAIL
答案2
任何最便宜的托管解决方案都会为您提供 cron 作业管理器,即使您没有 root 访问权限。
如果没有 cron,您可以随时执行一个简单的脚本,在特定时间后唤醒,并向您发送电子邮件
for(;;){
email();
sleep(60);
}