croncape

所属分类:collect
开发工具:GO
文件大小:0KB
下载次数:0
上传日期:2023-05-16 12:30:45
上 传 者sh-1993
说明:  Croncape包装作为cron作业运行的命令,以仅在发生错误或超时时发送电子邮件。,
(Croncape wraps commands run as cron jobs to send emails only when an error or a timeout has occurred.,)

文件列表:
.goreleaser.yml (163, 2023-05-16)
CHANGELOG (607, 2023-05-16)
LICENSE (1065, 2023-05-16)
go.mod (48, 2023-05-16)
main.go (6246, 2023-05-16)
process/ (0, 2023-05-16)
process/process_linux.go (438, 2023-05-16)
process/process_other.go (434, 2023-05-16)
process/process_windows.go (325, 2023-05-16)

Croncape ======== Croncape wraps commands run as cron jobs to send emails **only** when an error or a timeout has occurred. Out of the box, crontab can send an email when a job [generates output][5]. But a command is not necessarily unsuccessful "just" because it used the standard or error output. Checking the exit code would be better, but that's not how crontab was [standardized][1]. Croncape takes a different approach by wrapping your commands to only send an email when the command returns a non-zero exit code. Croncape plays well with crontab as it never outputs anything except when an issue occurs in Croncape itself (like a misconfiguration for instance), in which case crontab would send you an email. Installation ------------ Download the [binaries][4] or `go install github.com/symfonycorp/croncape@latest`. Usage ----- When adding a command in crontab, prefix it with `croncape`: MAILTO=sysadmins@example.com 0 6 * * * croncape ls -lsa That's it! Note that the `MAILTO` environment variable can also be defined globally in `/etc/crontab`; it supports multiple recipients by separating them with a comma. You can also customize the email sender by setting the `MAILFROM` environment variable. If you need to use "special" shell characters in your command (like `;` or `|`), don't forget to quote it and wrap the command in a shell: 0 6 * * * croncape bash -c "ls -lsa | true" Besides sending emails, croncape can also kill the run command after a given timeout, via the `-t` flag (disabled by default): 0 6 * * * croncape -t 2h ls -lsa If you want to send emails even when commands are successful, use the `-v` flag (useful for testing). Use the `-h` flag to display the full help message. Croncape is very similar to [cronwrap][2], with some differences: * No dependencies (cronwrap is written in Python); * Kills a command on a timeout (cronwrap just reports that the command took more time to execute); * Tries to use `sendmail` or `mail` depending on availability (cronwrap only works with `sendmail`); * Reads the email from the standard crontab `MAILTO` environment variable instead of a `-e` flag. For a simpler alternative, have a look at [cronic][3]. [1]: http://pubs.opengroup.org/onlinepubs/9699919799/utilities/crontab.html [2]: https://pypi.python.org/pypi/cronwrap/1.4 [3]: http://habilis.net/cronic/ [4]: https://github.com/symfonycorp/croncape/releases [5]: https://xkcd.com/1728/

近期下载者

相关文件


收藏者