DEV Community

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

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
Yogi

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.

Collapse
 
michaelphipps profile image
Phippsy

Backups. Daily checks of bank numbers (Australian BSB). Doing regular checks for changes to the Australian Business Registry. Soon i will add insolvency notices to the daily checks as well.
I use daemons a lot more though.

Collapse
 
nelsonmendezz_ profile image
Nelson Hernández

I use it in my github actions and show my post of the week medium

Collapse
 
flybot profile image
FlyBot

I used cron jobs to renew let's encrypt certificate, import currency rate and impott data from remote APIs

Collapse
 
thefluxapex profile image
Ian Pride

I use them for all kinds of things depending on the machine and its use, but one of one's I always use on every machine is for running updatedb for mlocate as root every so often. I work on many projects often and it's hard to keep track of everything. For example:
I might work on 4 or 5 Fortran projects within a couple days and on both of my Linux and Windows partitions and say I need my last modified module file and I don't remember which project I did last so I'll run my lastmodified program which is dependent on mlocate being updated and with a cron job I don't ever have to worry about it.

Collapse
 
ptasker profile image
Peter Tasker

I've got a cron running to update my Twitter username with the current weather. Runs every 20 mins.