DEV Community

Cover image for What do you use Cron jobs for?
Madza
Madza Subscriber

Posted on

What do you use Cron jobs for?

Cron jobs can be very useful to automate repetitive tasks. Users that set up and maintain software environments use cron to schedule jobs (commands or shell scripts) to run periodically at fixed times, dates, or intervals.

Some of the basic examples include running scheduled backups, monitoring disk space, deleting files (for example log files) periodically, running system maintenance tasks and a lot more.

What do you use Cron jobs for?

Latest comments (25)

Collapse
 
peter279k profile image
peter279k

I use them for monitoring the service and server.

And I also use them to do data exchanging.

Collapse
 
_garybell profile image
Gary Bell

At Home:

  • Send disk space updates to my dashboard for NAS and External drive backups
  • rsync NAS to external hard drive

At work

A few things:

Currently live

  • Copying database backups from hosting provider to the office (allows more backups to be kept)
  • Copying website assets from hosting provider to the office

In development

  • Resizing of images to create thumbnails as a background task
  • Regenerate sitemap
  • email daily reports
  • Update tracking information

And likely a whole load of stuff I've not properly considered yet

Collapse
 
yo profile image
Yoginth

I use Ubuntu's native crontab!

Collapse
 
ryands17 profile image
Ryan Dsouza

Mostly for backing up files, once in code as well where I needed to send notifications at a certain time to certain users.

Collapse
 
alaindet profile image
Alain D'Ettorre

To execute jobs on queue

Collapse
 
dengel29 profile image
Dan
  • Daily scraping for a hobby project (AWS Lambda).

  • a Github Workflow that checks twice daily for fave'd articles, pulls them into a JSON in the repo for my personal website, then rebuilds the site.

Collapse
 
siddheshshankar profile image
Siddhesh Shankar

I have setup a cron job in jupyter notebook which periodically sends relevant news articles to various groups.

Collapse
 
ahferroin7 profile image
Austin S. Hemmelgarn

One of the more 'unconventional' cron jobs I have on one of my systems fires off an Ansible playbook that runs memory compaction and wipes free RAM in all the VM test environments on the system on a nightly basis. This originated back when the system had a very limited amount of RAM and I needed to ensure that none of the VMs used too much over a long period of time, but I've kept it around despite having more than enough RAM now because it actually improves behavior of KSM and THP on the host side, which in turn means the VMs run a bit faster on average.

One of the other interesting ones I have running on one of my systems is used to update the number of CPUs visible to BOINC based on the ambient air temperature in the room (measured using a USB connected thermometer) and the time of day so that the computer doesn't add too much to the thermal load of the HVAC system at times when it might be an issue.

Collapse
 
meisekimiu profile image
Natalie Martin

On my own personal Linux computer, I mainly use cron to schedule basic desktop experience things: my desktop background changes every 30 minutes and my window manager's color theme changes to a new one every morning. Besides that, I have a twitter bot I created hooked up to cron that tweets every 6 hours.

Most other system maintenance stuff, like trimming log files and such, are handled by services in systemd.

Collapse
 
xanderyzwich profile image
Corey McCarty

I have an ETL job that receives files from our multi-value database to sync with our MS SQL server. Crontab triggers the jobs every minute to check for files and if files exist then they get processes.