Crontab + Sendmail实现定时任务并且通知
systemd timers真是不好用。或者说,我还是更喜欢crontab,简单易懂。最近我有个需求是定时从云主机把数据 备份到笔记本上,一开始用的systemd timers,但是出错了也不通知我,于是用回crontab,而且还发先可以使用 Linux自带的本地邮件的功能来实现提醒的功能。
$ sudo pacman -S cronie opensmtp
$ sudo systemctl enable cronie
$ sudo systemctl enable smtp
$ sudo systemctl start cronie
$ sudo systemctl start smtp
然后就 crontab -e
编辑自己的定时任务,之后只要有邮件,你就会收到一个通知。例如编写下面这样一个crontab:
MAILTO=jiajun
* * * * * root
注意,MAILTO=
是必要的,否则不会发送邮件。
$ date
Thu 25 Apr 2019 09:01:32 PM CST
$ cd
You have new mail in /var/spool/mail/jiajun
切换目录的时候,就会提醒我有邮件。当然,这还有一个重要原因是设置了 MAIL
这个环境变量。如果没有,需要检查一下:
$ echo $MAIL
/var/spool/mail/jiajun
更多文章
本站热门
- socks5 协议详解
- zerotier简明教程
- 搞定面试中的系统设计题
- frp 源码阅读与分析(一):流程和概念
- 用peewee代替SQLAlchemy
- Golang(Go语言)中实现典型的fork调用
- DNSCrypt简明教程
- 一个Gunicorn worker数量引发的血案
- Golang validator使用教程
- Docker组件介绍(二):shim, docker-init和docker-proxy
- Docker组件介绍(一):runc和containerd
- 使用Go语言实现一个异步任务框架
- 协程(coroutine)简介 - 什么是协程?
- SQLAlchemy简明教程
- Go Module 简明教程