Rex::Co...ds::Cron(3)
πΈ NAME πΈ
This is the Rex::Co...ds::Cron(3) page from the User Contributed Perl Documentation, bestie β but the actual module is Rex::Commands::Cron, and it is literally Simple Cron Management. π
π DESCRIPTION π
With this module you can manage your cronjobs. That's the whole assignment: cronjobs, managed. No cap. β¨
β¨ SYNOPSIS β¨
Okay so vibe check β here's the quick taste:
use Rex::Commands::Cron;
cron add => "root", {
minute => '5',
hour => '*',
day_of_month => '*',
month => '*',
day_of_week => '*',
command => '/path/to/your/cronjob',
};
cron list => "root";
cron delete => "root", 3;
π EXPORTED FUNCTIONS π
π cron_entry($name, %option) π
cron_entry is your cron-entry manager β it manages cron entries, periodt. Signature: cron_entry($name, %option).
cron_entry "reload-httpd",
ensure => "present",
command => "/etc/init.d/httpd restart",
minute => "1,5",
hour => "11,23",
month => "1,5",
day_of_week => "1,3",
day_of_month => "1,3,5",
user => "root",
on_change => sub { say "cron added"; };
# remove an entry
cron_entry "reload-httpd",
ensure => "absent",
command => "/etc/init.d/httpd restart",
minute => "1,5",
hour => "11,23",
month => "1,5",
day_of_week => "1,3",
day_of_month => "1,3,5",
user => "root",
on_change => sub { say "cron removed."; };
The ensure => "present" one is the add moment, and ensure => "absent" is the remove moment β the code even says # remove an entry. Slay.
π cron($action => $user, ...) π
With this function you can manage cronjobs. Signature: cron($action => $user, ...). Lowkey iconic.
List cronjobs.
use Rex::Commands::Cron;
use Data::Dumper;
task "listcron", "server1", sub {
my @crons = cron list => "root";
print Dumper(\@crons);
};
Add a cronjob.
This example will add a cronjob running on minute 1, 5, 19, and 40. Every hour and every day. Slay. π₯
use Rex::Commands::Cron;
use Data::Dumper;
task "addcron", "server1", sub {
cron add => "root", {
minute => "1,5,19,40",
command => '/path/to/your/cronjob',
};
};
Add another cronjob β the calendar queen.
This example will add a cronjob running on the 1st, 3rd, and 5th day of January and May, but only when it's a Monday or Wednesday. On those days, the job will run when the hour is 11 or 23, and the minute is 1 or 5 (in other words at 11:01, 11:05, 23:01, and 23:05). Obsessed. π¦
task "addcron", "server1", sub {
cron add => "root", {
minute => "1,5",
hour => "11,23",
month => "1,5",
day_of_week => "1,3",
day_of_month => "1,3,5",
command => '/path/to/your/cronjob',
};
};
Delete a cronjob.
This example will delete the 4th cronjob. Counting starts with zero (0), so index 3 is the 4th one. No cap. π
task "delcron", "server1", sub {
cron delete => "root", 3;
};
Managing Environment Variables inside cron.
task "mycron", "server1", sub {
cron env => user => add => {
MYVAR => "foo",
};
cron env => user => delete => $index;
cron env => user => delete => 1;
cron env => user => "list";
};
That's the whole page, bestie π β source/version perl v5.42.3, dated 2023-08-05. Byeee! π
π¦ where this page comes from
- nixos 26.05: perl5.42.3-Rex 1.14.3
- nixpkgs unstable: perl5.42.3-Rex 1.14.3
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms