I am running DietPi on a RPI in my network with some docker containers on it.

I recently got the idea to switch off containers when not needed, e.g. during the night, since this will allow my hard drive to switch off and saves a bit of energy.

I do not recall how I found out, but for some reason what I did was to just edit the /etc/crontab file that DietPi has with sudo. Worked like a charm, I had my containers stopped and started just as specified.

But then I wanted to make some changes, change some times, add some other stuff. I did it the same way, edit the /etc/crontab file with sudo. Didn’t work, none of my new additions worked.

I searched online and figured out the better way to do this is use the command “crontab -e”, edit stuff there, then also check with “crontab -l” right after. That worked, now my new containers are all behaving as they should.

But how do I now get rid of the stuff I defined in /etc/crontab? I removed it all from that file, saved it, restarted the system, nothing removed these, they are somehow persisting. I know they do because I use a different log file for these and that log file still gets generated now. How can I fix this?

Bonus question about log files, how can I make them more useful in terms of information? Right now they just name the command, not even a timestamp or anything.

Thanks!

  • Helix 🧬@feddit.org
    link
    fedilink
    English
    arrow-up
    2
    ·
    18 hours ago

    If you can, just ditch crontabs and use systemd timers. Systemd tiners are available for ages on most distributions and are a way slicker version of cronjobs, with built in logging etc. – you need to create a systemd service in addition though.

    If you use a non-systemd OS you can still use something else than cronjobs. Most service managers have a timer option which is more modern.

      • Helix 🧬@feddit.org
        link
        fedilink
        English
        arrow-up
        1
        ·
        18 hours ago

        Why would you prevent it? You can just filter the logs.

        You can reduce the log level of your .service to a lower one, e.g.

        LogLevelMax=warning
        

        Default is usually “info”.