crontab 是用来让使用者在固定时间或固定间隔执行程序之用,换句话说,也就是类似使用者的时程表。
-u user 是指设定指定 user 的时程表,这个前提是你必须要有其权限(比如说是 root)才能够指定他人的时程表。
如果不使用 -u user 的话,就是表示设定自己的时程表.
==============================================================
常用参数:
crontab -l //查看当前用户下的cron任务
crontab -e //编辑当前用户的定时任务
crontab -u linuxso -e //编辑用户linuxso的定时任务
==============================================================
基本格式 :
* * * * * command
分 时 日 月 周 命令
第1列表示分钟1~59 每分钟用*或者 */1表示
第2列表示小时1~23(0表示0点)
第3列表示日期1~31
第4列表示月份1~12
第5列标识号星期0~6(0表示星期天)
第6列要运行的命令
==============================================================
例子:
50 7 * * * /sbin/service sshd start 意思是每天7:50开启ssh服务
50 22 * * * /sbin/service sshd stop 意思是每天22:50关闭ssh服务
* * * * * /home/mydata.sh 意思是每分钟执行一次/home目录下下的可执行文件mydata.sh
更多例子:http://www.linuxso.com/command/crontab.html
==============================================================
下面我们来演示一下:
功能:系统每分钟把系统时间写入到一个/home/mydata文件中,再把mydata文件拷贝到/root目录下面
我们可以有两中方法实现此功能:
第一种方法:
步骤一:我们把任务添加进入任务调度器中
crontab -e
此时进入vi操作界面,输入:
* * * * * date >> /home/mydata
* * * * * cp /home/mydata /root
保存后,退出。
第二种方式:
步骤一:创建一个可执行文件/home/myfile.sh
vi myfile.sh
进入vi操作界面,输入:
date >> /home/mydata
cp /home/data /root
保存后,退出。
步骤二:修改myfile.sh文件的权限
chmod 744 myfile.sh
步骤三:添加任务调度
crontab -e
进入vi操作界面,输入:
* * * * * /home/myfile.sh
保存后,退出。
==============================================================
运行效果:
/home目录下面:
/root目录下面: