正好要搞一个定时删除数据的功能,想到linux 可设置定时器定时执行任务就学习了下~
并不是所有的linux服务器上都装了crontab
像我这:
[root@hehe local]# crontab
-bash: crontab: command not found
这时候要安装crontab,命令如下:
yum install -y vixie-cron
Loaded plugins: fastestmirror
Determining fastest mirrors
......
......
Dependency Installed:
cronie-anacron.x86_64 0:1.4.4-16.el6_8.2 crontabs.noarch 0:1.10-33.el6 logrotate.x86_64 0:3.7.8-26.el6_7 rsyslog.x86_64 0:5.8.10-10.el6_6 ssmtp.x86_64 0:2.61-22.el6
Complete!
安装结束~
用 crontab -l 检查下~
crontab的基本用法:
* * * * * command
前5个参数分别是: 分 时 日 月 星期
最后一个是要执行的命令,eg: /home/test/start.sh
其中:
每分钟执行一次:
* * * * * command 或 */1 * * * * command
具体的操作方法如下:
1. crontab -e 编辑cron
输入需要执行的命令,eg:
* * * * * /usr/local/test/start.sh
然后保存退出
2. 用crontab -l 可以查看当前所有的定时任务
3. 启动/重启服务:
service crond restart
就可以了~ 定时任务就会被执行~
相关的crontab命令简单介绍下,具体的操作可以自己多练练~
crontab file [-u user]-用指定的文件替代目前的crontab。
crontab-[-u user]-用标准输入替代目前的crontab.
crontab-1[user]-列出用户目前的crontab.
crontab-e[user]-编辑用户目前的crontab.
crontab-d[user]-删除用户目前的crontab.
crontab-c dir- 指定crontab的目录。
后面中括号中的user 是指某用户
其它的内容自行吧百度了~
注意事项
1. 之前在开发的时候发现我命令、程序都没有问题。。。设置了定时任务后就是没有执行,最后我直接执行命令发现是权限问题。。。所以要想执行命令,要确保对执行命令的文件有足够的权限