8.8. Automating Synchronization

Manually synchronizing the RHN Satellite Server repository with Red Hat Network can be a time-intensive task. United States business hours tend to be the peak usage time for Red Hat Network, so synchronization at that time may be slow. For these reasons, Red Hat encourages you to automate synchronization at other times to better balance load and ensure quick synchronization. Continental United States business hours are roughly 8:00 AM to 9:00 PM EST (UTC -5), due to four time zones, Monday through Friday. These hours may vary seasonally by one hour. Further, Red Hat strongly recommends that synchronization occur randomly for best performance.

This automation can be set easily by the addition of a simple cron job. To do this, edit the crontab as root:

crontab -e

This opens the crontab in a text editor, by default Vi. Another editor can be used by first changing the EDITOR variable, like so: export EDITOR=gedit.

Once opened, use the first five fields (minute, hour, day, month, and weekday) to schedule the synchronization. Remember, hours use military time. Edit the crontab to include random synchronization, like so:

0 1 * * * perl -le 'sleep rand 9000' && satellite-sync --email >/dev/null \
2>/dev/null

This particular job will run randomly between 1:00 a.m. and 3:30 a.m. system time each night and redirect stdout and stderr from cron to prevent duplicating the more easily read message from satellite-sync. Options other than --email can also be included. Refer to Table 6-2 for the full list of options. Once you exit from the editor, the modified crontab is installed immediately.