18.7. Scheduling Dial-Up Availability with cron

You want to shut down dial-up activity completely during nights and weekends, as no one will be using it. Your modem bandwidth costs you money, or you don't want it accidentally running when no one is around just because someone left an IRC session or email client open.

A simple cron job will do the trick. If you are using demand dialing create a crontab, as root, using the name of your own /etc/ppp/peers/[foo] file:

	# crontab -e
	00 6 * * 1-5 /usr/bin/pon demand
	00 20 * * 1-5 /usr/bin/poff

Save the file without renaming it, and then exit the editor. This example starts dial-on-demand every morning at 6 a.m., and shuts it down every evening at 8 p.m. Verify your new rules with the -l (list) switch:

# crontab -l
	00 6 * * 1-5 /usr/bin/pon filename
	00 20 * * 1-5 /usr/bin/poff

crontabs are user-specific, so when you want to create a system-wide cron job, you must do so as root. crontab opens the default editor as specified in your ~/.bashrc. You may use any editor you like. In the example in the Solution, crontab opened the Vim editor. This is what the ~/.bashrc entry that defines your default editor looks like:

	EDITOR=vim
	VISUAL=$EDITOR
	export EDITOR VISUAL

crontab -e means "edit the current user's crontab."

This is what the fields in crontab mean:

	field                 allowed values
	------                --------------
	minute                0-59
	hour                  0-23
	day of month          1-31
	month                 1-12 (or names, see below)
	day of week           0-7 (0 or 7 is Sun, or use names)

You may also use WvDial commands if your setup is like the first two recipes in this chapter, and you are not using demand dialing:

	# crontab -e
	00 6 * * 1-5 /usr/bin/wvdial filename
	00 20 * * 1-5 kill `pidof wvdial`

This starts up WvDial at 6 a.m. and shuts it down at 8 p.m.

  • man 5 crontab

  • Recipe 6.15, "Setting Your Default Editor," in Linux Cookbook, by Carla Schroder (O'Reilly) to learn more about customizing the editor that crontab uses