I've been using this one for a while and it's stable. It puts the
hostname in emails sent from cron, otherwise it's hard to figure out
which host the email came from.
diff -ruN busybox-1.27.2.orig/miscutils/crond.c
busybox-1.27.2/miscutils/crond.c
--- busybox-1.27.2.orig/miscutils/crond.c 2017-07-18
09:14:50.000000000 -0800
+++ busybox-1.27.2/miscutils/crond.c 2017-12-28 11:25:45.412623185 -0900
@@ -667,6 +667,7 @@
static void start_one_job(const char *user, CronLine *line)
{
char mailFile[128];
+ char *hostname;
int mailFd = -1;
line->cl_pid = 0;
@@ -676,10 +677,11 @@
/* Open mail file (owner is root so nobody can screw with it) */
snprintf(mailFile, sizeof(mailFile), "%s/cron.%s.%d",
CRON_DIR, user, getpid());
mailFd = open(mailFile, O_CREAT | O_TRUNC | O_WRONLY | O_EXCL
| O_APPEND, 0600);
+ hostname = safe_gethostname();
if (mailFd >= 0) {
- fdprintf(mailFd, "To: %s\nSubject: cron: %s\n\n",
line->cl_mailto,
- line->cl_cmd);
+ fdprintf(mailFd, "To: %s\nSubject: %s cron: %s\n\n",
line->cl_mailto,
+ hostname, line->cl_cmd);
line->cl_empty_mail_size = lseek(mailFd, 0, SEEK_CUR);
} else {
bb_error_msg("can't create mail file %s for user %s, "
_______________________________________________
busybox mailing list
[email protected]
http://lists.busybox.net/mailman/listinfo/busybox