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?
Top comments (25)
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
formlocate
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 onmlocate
being updated and with a cron job I don't ever have to worry about it.Technically I use anacron, but it's the same principle. I only use it to setup a little reminder that I need to update the system (the one I use for work, not a server).
Linux crontab:
pm2 cron:
GitHub cron:
Ah... I used to create a tool to monitor
COVID-19
situations in my Terminal. Go check that out.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.
I recently used cron jobs for two main things: to retrieve the latest issues of our clients to display them on a custom interface, and to update the list of pages of a website in a solr backend (full text search application).
Sounds interesting.. What's that solr project is about? and how you use it?
Could you add something about it?
Sounds interesting as I have solr project as well..
We created a package that we use with django-haystack in order to index Django-based sites pages.
When our customers post new content on their sites they just have to wait a few hours before it is crawled and available in the search index.
I use cronjob for a timely backup session with Equilibrium. Clean up and sorting files that I saved everywhere in my workstation and laptop with Sweep. It helps to reorganize files automatically into specific directories.
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.
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.
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.
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.