Выбрать главу

The mt command uses /dev/tape as its default device; create this as a symbolic link to /dev/nst0 if it does not already exist:

# ln -s /dev/nst 0 /dev/tape

You can now create a multibackup tape:

# mt rewind

# tar cvzf /dev/tape /home

# tar cvzf /dev/tape /etc

# mt rewind

To read a specific backup on a multibackup tape, rewind to the beginning (just to be sure you're at the start), and then skip any files (backups) necessary to reach the archive you want. These commands will access the table of contents for the second archive, for example:

# mt rewind

# mt fsf

# tar tvzf /dev/tape

etc/

etc/smrsh/

etc/smrsh/mailman

etc/group-

etc/gnopernicus-1.0/

etc/gnopernicus-1.0/translation_tables/

...(Lines snipped)...

6.3.3.3. ...backing up multiple systems onto a central tape archive?

Fedora Core includes amanda , a powerful client-server tape backup system that can be used for this purpose. See the amanda manpages for details.

6.3.4. Where Can I Learn More?

 The manpages for st , mt , tar , growisofs , mkisofs , and amanda

 CD and DVD Archiving: Quick Reference Guide for Care and Handling (NIST): http://www.itl.nist.gov/div895/carefordisc/disccare.html

 Magnetic Tape Storage and Handling: A Guide for Libraries and Archives (NML): http://www.imation.com/america/pdfs/AP_NMLdoc_magtape_S_H.pdf

6.4. Scheduling Tasks

Fedora Core can schedule tasks to be run at specific times. This is useful for making backups, indexing data, clearing out temporary files, and automating downloads and it's easy to set up.

6.4.1. How Do I Do That?

To schedule a task, use crontab with the -e option to edit your list of scheduled tasks:

$ crontab -e

The vi editor will start up, and any existing scheduled tasks will appear (if you don't have any scheduled tasks, the document will be blank). Edit the file using standard vi editing commands.

Each scheduled task occupies a separate line in this file. Each line consists of five time fields, followed by the command to be executed. In order, the file fields are:

minute

The number of minutes past the hour, 059

hour

The hour of the day, 023

day

The day of the month, 131

month

The number of the month, 112

day of the week

The day of the week, 06 (Sunday to Saturday) or 17 (Monday to Sunday), or written out

A time field may contain an asterisk, which means any .

Here is an example:

30 * * * * /home/chris/bin/task1

The script or program /home/chris/bin/task1 will be executed at 30 minutes past the hour, every hour of every day of every month. Here are some other examples:

15 1 * * * /home/chris/bin/task2

0 22 * * 1 /home/chris/bin/task3

30 0 1 * * /home/chris/bin/task4

0 11 11 11 * /home/chris/bin/task5

task2 will be executed at 1:15 a.m. every day. task3 will be executed at 10:00 p.m. every Monday. task4 will be run at 12:30 a.m. on the first of every month. task5 will be run at 11:00 a.m. each Remembrance Day (Veteran's Day).

You can use a range ( low - high ), a list of values ( 1,2,3 ), or */ increment to specify every increment unit. Here are some more examples to illustrate:

0,15,30,45 9-16 * * * /home/chris/bin/task6

*/2 * * * * /home/chris/bin/task7

0 7 1-7 * 3 /home/chris/bin/task8

task6 will be run every 15 minutes (at 0, 15, 30, and 45 minutes past the hour) from 9:00 a.m. to 4:45 p.m. every day. task7 will be executed every two minutes. task8 will be executed at 7:00 a.m. on the first Wednesday of each month (the only Wednesday between the first and seventh of the month).

By default, any output (to stdout or stderr ) produced by a scheduled command will be emailed to you. You can change the email destination by including a line that sets the MAILTO environment variable:

MAILTO=cronman@gmail.com

30 * * * * /home/chris/bin/task1

15 1 * * * /home/chris/bin/task2

0 22 * * 1 /home/chris/bin/task3

In fact, you can also set any standard environment variables; the two most useful are SHELL , which overrides the default shell ( bash ), and PATH , which overrides the default path ( /bin:/usr/bin ). Here's an example:

PATH=/bin:/usr/bin:/usr/local/bin:/sbin:/usr/sbin

SHELL=/bin/zsh

MAILTO=""

30 * * * * adjust-network

Fedora also provides a system for running scripts on an hourly, daily, weekly, and monthly basis, simply by placing the script into a designated directory. These scripts run as root . Table 6-8 shows the time of execution for each directory.

Table 6-8. Scheduled task directories

Directory Frequency Time of execution Task examples
/etc/cron.hourly Hourly :01 past each hour Send/receive netnews
/etc/cron.daily Daily 4:02 a.m. every day Analyze web logs, rotate logs, delete old temporary files, monitor cryptographic certificate expiry, update installed software
/etc/cron.weekly Weekly 4:22 a.m. every Sunday Clean up old yum packages, index manpages
/etc/cron.monthly Monthly 4:42 a.m. on the first day of every month (None defined)