Skip to content

Commit

Permalink
Merge pull request #174 from linuxserver/standard-cron
Browse files Browse the repository at this point in the history
standard cron
  • Loading branch information
nemchik authored Oct 1, 2023
2 parents d24d126 + c3aeb87 commit 54c94fb
Showing 1 changed file with 52 additions and 0 deletions.
52 changes: 52 additions & 0 deletions content/issues/2023-10-01-cron.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
---
title: "Notification: Significant changes to cron incoming"
date: "2023-10-01 23:00:00Z"
informational: true
affected:
- "Notifications"
- "diskover"
- "duckdns"
- "feed2toot"
- "freshrss"
- "grav"
- "lychee"
- "nextcloud"
- "rsnapshot"
- "snipe-it"
- "swag"
- "transmission"
- "webgrabplus"
section: issue
---

We've decided to make some changes to how cron is shipped in our images.

## Current state of cron

We have not had a consistent standard. Many of our images do however setup cron the same way. When an application requires cron, we setup crontabs for `abc` or `root` in `/config/crontabs/`. This has allowed users to customize crontabs.

This has required that if we make changes to the image that require changes to crontabs we have had to carefully plan how to make adjustments to existing user files without causing issues with any customizations. It could also mean we are unable to automatically make required changes if user customizations make an automated adjustments impossible. In these cases, users have been required to update crontabs on their own.

As a side note, we also offer our [universal cron mod](https://github.com/linuxserver/docker-mods/tree/universal-cron) that can be applied to add the ability to use cron for both `abc` and `root` in any container.

## Incoming changes

When an application requires cron, we will also no longer setup crontabs for `abc` or `root` in `/config/crontabs/`, unless user customizations to the crontab are required.

Instead, we are internalizing the crontab files. This should make it easier for us to update crontabs when changes to the image require updates to crontabs. It also means users won't have to keep up with changes to crontab requirements that may break their applications.

**IMPORTANT:** We are NOT removing existing crontabs from `/config/crontabs/`, they will simply be ignored unless otherwise noted.

We will continue to offer our [universal cron mod](https://github.com/linuxserver/docker-mods/tree/universal-cron) with a new purpose of making crontabs for `abc` and `root` customizable by setting them up in up `/config/crontabs/` and configuring the cron service to recognize them, essentially restoring the original behavior. This effectively makes the cron mod the only way to customize crontabs.

As a side note, we are also adjusting all existing crontabs we ship to run as `abc` instead of `root`. This improves security and consistency in our images.

### Exceptions

Diskover requires setting your own crontab schedule. The container will now run cron using `/config/crontabs/abc` instead of `/config/crontabs/root`. The `/config/crontabs/root` file is NOT being automatically removed, but will be ignored.

Rsnapshot requires setting your own crontab schedule, and in some cases requires backups to run as root. The container will continue to run cron using `/config/crontabs/root`.

## Timing

You can expect to see these changes merge around November 1st, 2023. An additional post will be made with all of the above information and any updates if anything changes between now and then.

0 comments on commit 54c94fb

Please sign in to comment.