Earlier today I copied data from the old server (supernews) to the new server (x8dtu). Now that the database has the correct information regarding when reports were last sent out, we can begin to enable those reports.
The work has already been done to move the reports from cronjobs into periodic scripts. For our purposes, three new periodic categories have been added:
- everythreeminutes
- hourly
- fortnightly
I also created the corresponding directories:
[dan@x8dtu-ingress01:/usr/local/etc/periodic] $ ls daily fortnightly monthly weekly everythreeminutes hourly security
Which contains the FreshPorts scripts, installed via pkg:
[dan@x8dtu-ingress01:/usr/local/etc/periodic] $ ls everythreeminutes hourly fortnightly everythreeminutes: 100.fp_system_status fortnightly: 310.send-report-notices-fortnightly 320.send-report-new-ports-fortnightly hourly: 120.fp_test_master_port_make 180.fp_stats_hourly 260.fp_refresh_various_cache_items 140.fp_test_master_port_db 240.fp_missing_port_categories [dan@x8dtu-ingress01:/usr/local/etc/periodic] $
Instructing periodic to run those scripts looks something like this:
$ grep periodic /etc/crontab */3 * * * * root periodic everythreeminutes 0 * * * * root periodic hourly 1 3 * * * root periodic daily 15 4 * * 6 root periodic weekly 20 3 9,23 * * root periodic fortnightly 30 5 1 * * root periodic monthly
I knew that the script which does the reporting is report-notification.pl so I went looking to see what is using it:
[dan@x8dtu-ingress01:/usr/local/etc/periodic] $ grep -r report-notification.pl * daily/310.send-report-notices-daily: echo "cd $fp_scripts_dir && /usr/local/bin/perl report-notification.pl D" | su -fm $fp_freshports_user 2>&1 >> ${DIRLOG}/report-notification.daily || rc=3 fortnightly/310.send-report-notices-fortnightly: echo "cd $fp_scripts_dir && /usr/local/bin/perl report-notification.pl F" | su -fm $fp_freshports_user 2>&1 >> ${DIRLOG}/report-notification.fortnightly || rc=3 monthly/310.send-report-notices-monthly: echo "cd $fp_scripts_dir && /usr/local/bin/perl report-notification.pl M" | su -fm $fp_freshports_user 2>&1 >> ${DIRLOG}/report-notification.monthly || rc=3 weekly/310.send-report-notices-weekly: echo "cd $fp_scripts_dir && /usr/local/bin/perl report-notification.pl W" | su -fm $fp_freshports_user 2>&1 >> ${DIRLOG}/report-notification.weekly || rc=3 [dan@x8dtu-ingress01:/usr/local/etc/periodic] $
Ahh, yes, it does look like I’ve already done this work for each reporting time period.
Next, let’s see what knobs we must enable.
[dan@x8dtu-ingress01:/usr/local/etc/periodic] $ grep enable `grep -rl report-notification.pl *` daily/310.send-report-notices-daily:case "$fp_send_report_notices_daily_enable" in fortnightly/310.send-report-notices-fortnightly:case "$fp_send_report_notices_fortnightly_enable" in monthly/310.send-report-notices-monthly:case "$fp_send_report_notices_monthly_enable" in weekly/310.send-report-notices-weekly:case "$fp_send_report_notices_weekly_enable" in
Those are the four flags I have to enable to get this working.
- fp_send_report_notices_daily_enable
- fp_send_report_notices_fortnightly_enable
- fp_send_report_notices_monthly_enable
- fp_send_report_notices_weekly_enable
Let’s check the configuration file:
$ grep report /etc/periodic.conf # reports #fp_send_report_notices_daily_enable="YES" #fp_send_report_new_ports_daily_enable="YES" #fp_send_report_notices_fortnightly_enable="YES" #fp_send_report_new_ports_fortnightly_enable="YES" #fp_send_report_notices_weekly_enable="YES" #fp_send_report_new_ports_weekly_enable="YES" #fp_send_report_notices_monthly_enable="YES" #fp_send_report_new_ports_monthly_enable="YES"
With a quick sudoedit, I enabled all of those entries. I could have also used sysrc, but I figured sudoedit would be fine.
Now we wait.