19 lines
1.7 KiB
Bash
19 lines
1.7 KiB
Bash
nodes_wait 60 || true
|
|
# The /etc/cron.d line task 2 asks for: 02:00 on Sundays, as root, with /etc.
|
|
JOB='^0 +2 +\* +\* +(0|7|[Ss][Uu][Nn]) +root +.*/etc'
|
|
|
|
task 1 "logger \"EX294 in progress\" every 2 minutes for student on the web servers"
|
|
need "student's crontab on node1 runs logger \"EX294 in progress\" every 2 minutes" "in_node node1 crontab -l -u student | grep -Eq '^\*/2 +\* +\* +\* +\* +(/usr/bin/)?logger .?EX294 in progress'"
|
|
need "crond is running on node1" 'in_node node1 systemctl is-active --quiet crond'
|
|
|
|
task 2 "A Sunday 02:00 /etc backup in /etc/cron.d/backup, then removed from the web servers"
|
|
need "/etc/cron.d/backup on node2 archives /etc at 02:00 on Sundays, as root" "in_node node2 cat /etc/cron.d/backup | grep -Eq '$JOB'"
|
|
need "the job is gone from node1's /etc/cron.d/backup" "! in_node node1 cat /etc/cron.d/backup 2>/dev/null | grep -Eq '$JOB'"
|
|
|
|
task 3 "A daily cleanup.timer on the database servers"
|
|
need "cleanup.timer is enabled on node2" "[ \"\$(in_node node2 systemctl is-enabled cleanup.timer)\" = enabled ]"
|
|
need "cleanup.timer is active on node2" 'in_node node2 systemctl is-active --quiet cleanup.timer'
|
|
need "cleanup.timer runs every day (OnCalendar)" "in_node node2 systemctl show -P TimersCalendar cleanup.timer | grep -Eq 'OnCalendar=\*-\*-\* [0-9]'"
|
|
need "systemctl list-timers on node2 shows a next run for cleanup.timer" "in_node node2 systemctl list-timers --no-legend cleanup.timer | grep -q cleanup.timer && ! in_node node2 systemctl list-timers --no-legend cleanup.timer | grep -q '^-'"
|
|
need "the unit it starts exists" "u=\$(in_node node2 systemctl show -P Triggers cleanup.timer) && [ -n \"\$u\" ] && in_node node2 systemctl cat \"\$u\""
|