this post was submitted on 13 Jul 2023
42 points (92.0% liked)
Linux
48248 readers
815 users here now
From Wikipedia, the free encyclopedia
Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).
Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.
Rules
- Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.
- No misinformation
- No NSFW content
- No hate speech, bigotry, etc
Related Communities
Community icon by Alpár-Etele Méder, licensed under CC BY 3.0
founded 5 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Use crontab. As Mint is based on Ubuntu, check out the documentation here: https://help.ubuntu.com/community/CronHowto
You can also use SystemD timers, which are (in my opinion) easier to manage
So I attempted to run a crontab and for whatever reason it does not do anything. What I put was * * * * * /usr/bin/sct 2750 after sudo crontab -e just to see if it even runs but it does not do anything. I rewrote and added multiple crontabs but no results. Any help would be appreciated.
For the "schedule expression" (the
* * * * *
part), try https://crontab.guru/. Some distributions have shortcut expressions like@hourly
or@daily
so you don't have to type* */1 * * *
etc.The crontab generally has a header that shows the columns, but if not, they're:
m h dom mon dow command
.From
* * * * * /usr/bin/sct 2750
I'm guessing you want to run every minute. If that's the case, as another commented pointed out, try*/1 * * * * /usr/bin/sct 2750
, meaning every 1 minute.OK... So, just to test, edit your crontab and run a basic command:
this will append the current date/time once a minute (
*/1
) to a file in your home dir. You can check if it works withcat ~/date.log
If that works, then try again with your command. I see you used the full path to it, that's a good thing. Also, what does that command do if you run it manually?
To run the command at 10 PM every day, you should have it like this:
0 22 * * * /usr/bin/sct 2750
Crontab is deprecated,theres a better way now. Dont ask me though because im working on servers that havent had an upgrade in 10+ years
My servers are up to date and there is not a single Linux distro that has removed cron or marked it for removal yet. Probably will stay that way for a long time.
Yes, it's usually still available, but systemd timers are the more "modern" way, which is why distros like Arch use them by default:
https://wiki.archlinux.org/title/Cron
that's because we've understood there's a line between what is reasonable for most users to implement - cron - and what is more reasonable for the OS to implement - systemd timers.
you don't want a user who doesn't know what they're doing to accidentally brick a key OS timer (for instance, when they're setting up their own), so systemd helps to segregate while still allowing experienced users to easily stop timers.
meanwhile, for users, cron is much easier to work with...
You mean running systemd timers? Yes, they are great, but for a beginner I think understanding crontabs is still better.
Also, who said crontabs are deprecated? Do you have a source for that?
Idk i remember reading that theres a new way. Maybe it isnt deprecated? Yes systemd timers is the new way
systemd timers are not actually universal. not everyone uses systemd, some use sysvinit, openrc, etc. systemd timers are also much more difficult to set up.
cron is not "deprecated" and is still widely used industrially and locally.