建立SCRIPT定时器-实现特定时间自动拨某人手机 c..
时间:2006-05-22 来源:agg230
1.作用
使用crontab命令可以修改crontab配置文件,然后该配置由cron公用程序在适当的时间执行,该命令使用权限是所有用户。
2.格式
crontab [ -u user ] 文件
crontab [ -u user ] { -l | -r | -e }
3.主要参数
-e:执行文字编辑器来设定时程表,内定的文字编辑器是vi。
-r:删除目前的时程表。
-l:列出目前的时程表。
crontab 文件的格式为“M H D m d cmd”。其中,M代表分钟(0~59),H代表小时(0~23),D代表天(1~31),m代表月(1~12),d代表一星期内的天(0~6,0为星期天)。cmd表示要运行的程序,它被送入sh执行,这个Shell只有USER、HOME、SHELL三个环境变量。
4.说明
和at命令相比,crontab命令适合完成固定周期的任务。
5.应用实例
设置一个定时、定期的系统提示:
[cao @www cao]#crontab -e
此时系统会打开一个vi编辑器。
如果输入以下内容:35 17 * * 5 wall "Tomorrow is Saturday I will go CS",
这样每个星期五17:35系统就会弹出一个终端,提醒星期六可以打打CS了!
用crontab命令实现每天定时的病毒扫描
前面已经介绍了一个简单的crontab命令操作,这里看一些更重要的操作。
(1)建立一个文件,文件名称自己设定,假设为caoproject:
#crontab -e
(2)文件内容如下:
05 09 * * * antivir
用vi编辑后存盘退出。antivir是一个查杀Linux病毒的软件,当然需要时先安装在系统中。
(3)使用crontab命令添加到任务列表中:
#crontab caoproject
这样系统内所有用户在每天的9点05分会自动进行病毒扫描
#!/bin/bash
HOST='10.82.0.4'
USER='edp'
PASSWD='edp123'
FILE='status.txt'
ftp $HOST <<END_SCRIPT
quote USER $USER
quote PASS $PASSWD
cd /tmp
lcd /root/MBS
get $FILE
quit
END_SCRIPT
cd /root/MBS
statusFile='/root/MBS/status.txt'
case $1 in
firstcall)
idx=1
if [ ! -e $statusFile ] ; then
/usr/bin/wvdial Support
echo "MBS status.txt not found at `date`" | /bin/mail -s "Makro MBS Night Check" [email protected]
fi
;;
secondcall)
idx=2
if [ ! -e $statusFile ] ; then
/usr/bin/wvdial Support
echo "MBS status.txt not found at `date`" | /bin/mail -s "Makro MBS Night Check" [email protected]
else
rm -f $statusFile
fi
;;
*)
idx=3
;;
esac
/usr/bin/wvidla文件内容
[Dialer Defaults]
Modem = /dev/ttyS0
Baud = 19200
Init = ATZ
Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 S11=55 +FCLASS=0
Username = my_login_name
Password = my_login_password
[Dialer Support]
Phone = 139********
Abort on Busy = yes
Dial Attempts = 1
使用crontab命令可以修改crontab配置文件,然后该配置由cron公用程序在适当的时间执行,该命令使用权限是所有用户。
2.格式
crontab [ -u user ] 文件
crontab [ -u user ] { -l | -r | -e }
3.主要参数
-e:执行文字编辑器来设定时程表,内定的文字编辑器是vi。
-r:删除目前的时程表。
-l:列出目前的时程表。
crontab 文件的格式为“M H D m d cmd”。其中,M代表分钟(0~59),H代表小时(0~23),D代表天(1~31),m代表月(1~12),d代表一星期内的天(0~6,0为星期天)。cmd表示要运行的程序,它被送入sh执行,这个Shell只有USER、HOME、SHELL三个环境变量。
4.说明
和at命令相比,crontab命令适合完成固定周期的任务。
5.应用实例
设置一个定时、定期的系统提示:
[cao @www cao]#crontab -e
此时系统会打开一个vi编辑器。
如果输入以下内容:35 17 * * 5 wall "Tomorrow is Saturday I will go CS",
这样每个星期五17:35系统就会弹出一个终端,提醒星期六可以打打CS了!
用crontab命令实现每天定时的病毒扫描
前面已经介绍了一个简单的crontab命令操作,这里看一些更重要的操作。
(1)建立一个文件,文件名称自己设定,假设为caoproject:
#crontab -e
(2)文件内容如下:
05 09 * * * antivir
用vi编辑后存盘退出。antivir是一个查杀Linux病毒的软件,当然需要时先安装在系统中。
(3)使用crontab命令添加到任务列表中:
#crontab caoproject
这样系统内所有用户在每天的9点05分会自动进行病毒扫描
#!/bin/bash
HOST='10.82.0.4'
USER='edp'
PASSWD='edp123'
FILE='status.txt'
ftp $HOST <<END_SCRIPT
quote USER $USER
quote PASS $PASSWD
cd /tmp
lcd /root/MBS
get $FILE
quit
END_SCRIPT
cd /root/MBS
statusFile='/root/MBS/status.txt'
case $1 in
firstcall)
idx=1
if [ ! -e $statusFile ] ; then
/usr/bin/wvdial Support
echo "MBS status.txt not found at `date`" | /bin/mail -s "Makro MBS Night Check" [email protected]
fi
;;
secondcall)
idx=2
if [ ! -e $statusFile ] ; then
/usr/bin/wvdial Support
echo "MBS status.txt not found at `date`" | /bin/mail -s "Makro MBS Night Check" [email protected]
else
rm -f $statusFile
fi
;;
*)
idx=3
;;
esac
/usr/bin/wvidla文件内容
[Dialer Defaults]
Modem = /dev/ttyS0
Baud = 19200
Init = ATZ
Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 S11=55 +FCLASS=0
Username = my_login_name
Password = my_login_password
[Dialer Support]
Phone = 139********
Abort on Busy = yes
Dial Attempts = 1
相关阅读 更多 +