42
submitted 1 year ago by PrivateOnions@lemmy.ml to c/linux@lemmy.ml

I am on Mint XFCE and Redshift is just so inconsistent and I have tried its forks, also inconsistent. So instead I have been using sct in the terminal to adjust the temperature, and have set a command that resets it back to normal every time that I log on. However, I was wondering if there is a way to make it so that "sct 2750" runs every day at 10 pm or during a specific period of time.

you are viewing a single comment's thread
view the rest of the comments
[-] _calm_bomb_@lemmy.ml 63 points 1 year ago

Use crontab. As Mint is based on Ubuntu, check out the documentation here: https://help.ubuntu.com/community/CronHowto

[-] BestBouclettes@jlai.lu 5 points 1 year ago

You can also use SystemD timers, which are (in my opinion) easier to manage

[-] luthis@lemmy.nz 4 points 1 year ago

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

[-] domi@lemmy.secnd.me 24 points 1 year ago

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.

[-] pchem@feddit.de 15 points 1 year ago

Yes, it's usually still available, but systemd timers are the more "modern" way, which is why distros like Arch use them by default:

There are many cron implementations, but none of them are installed by default as the base system uses systemd/Timers instead

https://wiki.archlinux.org/title/Cron

[-] amyipdev@lib.lgbt 2 points 1 year ago

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...

[-] _calm_bomb_@lemmy.ml 19 points 1 year ago

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?

[-] luthis@lemmy.nz 2 points 1 year ago

Idk i remember reading that theres a new way. Maybe it isnt deprecated? Yes systemd timers is the new way

[-] amyipdev@lib.lgbt 2 points 1 year ago

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.

[-] PrivateOnions@lemmy.ml 1 points 1 year ago

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.

[-] 133arc585@lemmy.ml 4 points 1 year ago* (last edited 1 year ago)

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.

[-] _calm_bomb_@lemmy.ml 2 points 1 year ago* (last edited 1 year ago)

OK... So, just to test, edit your crontab and run a basic command:

*/1 * * * * date >> ~/date.log

this will append the current date/time once a minute (*/1) to a file in your home dir. You can check if it works with cat ~/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

this post was submitted on 13 Jul 2023
42 points (100.0% liked)

Linux

48332 readers
544 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

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS