Red Hat Training
A Red Hat training course is available for Red Hat Satellite
3.3. Automated Backups
Backup tasks can be automated so that they occur in non-peak times, such as the late evening or early morning. This also ensures they are performed regularly, and are not forgotten. The most effective way to automate backups is using
cron
.
Procedure 3.3. Automating Backups
Create a new file called
backup-db.sh
containing the following script. This script will stop the satellite, perform a database backup, and restart the satellite:
#!/bin/bash { /usr/sbin/rhn-satellite stop su - oracle -c' d=db-backup-$(date "+%F"); mkdir -p /tmp/$d; db-control backup /tmp/$d '; /usr/sbin/rhn-satellite start } &> /dev/null
- Create a new file called
move-files.sh
containing the following script. This script will usersync
to move the backup files to a directory to be stored:#!/bin/bash rsync -avz /tmp/db-backup-$(date "+%F") [destination] &> /dev/null
Replace [destination] with the path to the backup directory.Alternatively, the following script usesscp
to achieve the same goal:#!/bin/bash scp -r /tmp/db-backup-$(date "+%F") [destination] &> /dev/null
- Switch to the root user, and open the
crontab
in a text editor:crontab -e
Note
Thecrontab
will open in vi by default. To change this behavior, change theEDITOR
variable to the name of the text editor you prefer. - In the
crontab
, use the first five fields (minute, hour, day, month, and weekday) to schedule the backup scripts to run:0 3 * * * backup-db.sh 0 6 * * * move-files.sh
Thiscrontab
entry will run the backup at 03:00, and transfer the backup files at 06:00. Other options can be included as needed. You can also include a clean up script to remove older backup directories and prevent the backup storage from filling up. - To save the
crontab
, simply exit from the text editor. The newcron
rules will be put in to place immediately.