Linux 定时任务crontab使用

时间:2022-04-03 21:27:03

正好要搞一个定时删除数据的功能,想到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. 之前在开发的时候发现我命令、程序都没有问题。。。设置了定时任务后就是没有执行,最后我直接执行命令发现是权限问题。。。所以要想执行命令,要确保对执行命令的文件有足够的权限