Linux系统crontab定时任务设置参数实例及常用技巧

般情况下,我们在操作和运维VPS、服务器的时候可能会用到crontab定时任务的配置,比如定时的重启服务器、定时备份数据等操作使用的还是比较多的。这里就离不开使用crontab命令的任务配置,在这篇文章中,老左将会整理较为齐全的crontab命令使用的方法以及常用的实例操作。

 

 

从上图中,我们其实就可以看到crontab具体用法。一共有6个段落,前面5个标示定时的时间设定,后面一个标示文件的路径定时执行。

 

第一、crontab安装

 

一般我们使用的centos或者debian发行版本都自带crontab定时软件支持的,如果系统不支持,我们只需要通过下面对应的安装就可以。

 

1、centos安装crontab

 

 代码如下 复制代码

#安装Crontab
yum install vixie-cron crontabs
#设置开机启动Crontab
chkconfig crond on
#启动Crontab
service crond start

 

2、debian安装crontab

 

 代码如下 复制代码

#安装Crontab
apt-get install cron
#重启Crontab
/etc/init.d/cron restart

 

确保系统安装且运行生效之后才可以相关的设置。

 

第二、定时任务案例

 

1、35 * * * * updatedb

 

每隔一小时35分钟的时候更新一次数据库。

 

2、*/5 * * * * /usr/local/bin/diskusage.sh

 

每隔5分钟运行diskusage.sh文件。

 

3、25,50 1 15 * 2 /usr/local/bin/diskusage.sh

 

每周二1:50AM执行文件

 

4、00 14 10 3,6,9,12 * /usr/local/bin/diskusage.sh

 

每年3、6、9、12月份第十天下午2点执行。

 

5、00 21 * * Mon,Wed,Fri /usr/local/bin/diskusage.sh admin@laozuo.org

 

每周一、三、五下午9点执行脚本

 

6、*/5 * * * 1-5 /usr/local/bin/diskusage.sh

 

周一到周五,每五分钟执行。

 

第三、系统调度

 

 代码如下 复制代码

/etc/cron.d /etc/cron.daily /etc/cron.hourly /etc/cron.monthly /etc/cron.weekly

 

如果我们根目录在执行backup.sh备份命令,使用上面脚本可以直接替换到/etc/cron.weekly目录。

 

第四、定时计划的级别设定

 

我们在操作的时候,每个用户都可以编辑、查看、删除crontab定时配置文件。如果根用户需要改crontab文件,必须加上'-u'选项来指定用户名。

 

1、编辑crontab文件的用户laozuo时候,我们可以使用命令:

 

crontab -u laozuo -e

 

2、移除laozuo用户的定时设定

 

crontab -u laozuo -r

 

3、查看laozuo定时任务设置文件

 

crontab -u laozuo -l

 

第四、从文件中加载crontab

 

我们除了可以手工编辑定时文件之外,还可以文件加载到定时文件中。

 

 代码如下 复制代码

cat /root/mycronjobs.txt
53 00 * * 7 /bin/sh /root/server-backup.sh
01 00 * * * /bin/sh /root/check-user-quota.sh

 

我们需要先上传编辑好的mycronjobs.txt定时任务文件到目录中,然后才可以执行。

 

 代码如下 复制代码

crontab /root/mycronjobs.txt

 

通过这个命令检查验证。

 

 代码如下 复制代码

crontab -l
53 00 * * 7 /bin/sh /root/server-backup.sh
01 00 * * * /bin/sh /root/check-user-quota.sh

 

这里我们可以检查定时文件是否存在。

 

第五、加入SELinux安全选项

 

 代码如下 复制代码

crontab -s /root/mycronjobs/my.txt
SELINUX_ROLE_TYPE=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
53 00 * * 7 /bin/sh /root/server-backup.sh
01 00 * * * /bin/sh /root/check-user-quota.sh

 

第六、删除定时任务工作

 

 代码如下 复制代码

[root@linux ~]# crontab -l
53 00 * * 7 /bin/sh /root/server-backup.sh
01 00 * * * /bin/sh /root/check-user-quota.sh

[root@linux ~]# crontab -r

[root@linux ~]# crontab -l
no crontab for root

 

我们先用-l查看当前的定时任务,然后用-r删除,然后再检查已经没有任务选项。

 

总结,以上6个步骤和方法,就是我们常用的crontab定时文件配置常用的,一般我们会用的多的是备份和定时启动等,根据我们实际的需要再进行时间上的调整。

时间: 2024-10-30 17:07:16

Linux系统crontab定时任务设置参数实例及常用技巧的相关文章

Linux系统init级别设置错误导致系统不能正常启动怎么办?

  Linux系统init级别设置错误导致系统不能正常启动怎么办? 1.在Linux启动过程中,按Esc键进入Grub界面. 2.按e修改当前Linux系统的配置. 3.选择第二行,按e键,并按如下步骤执行 1)在出现的命令行后加1(单用户模式); 2)按Enter键接收操作并后退到当前Linux配置页面; 3)按b重启Linux. 4.重启后进入Linux系统,修改/etc/inittab文件.将init级别改成你想要的,比如我在这里改成3(完整多用户模式). id:3:initdefault

windows-关于Linux下V4L2获取设置参数

问题描述 关于Linux下V4L2获取设置参数 问题描述如下: 我在linux下使用V4L2对免驱摄像头进行操作,由于项目需求,需要通过USB线获取 摄像头板的GPI的状态,这个属于扩展功能,摄像头工程师是这么做的:由于我们的摄像头的GAMMA值不会被用到,因此当摄像头板检测到GPI电平有变化时,它就将 GAMMA对应的寄存器的值设置成另外一个值,然后我通过V4L2的函数ioctl,参数为VIDIOC_G_GAMMA来获取当前的GAMMA值,但是读不到其变化.问题是,我在windows下又可以读

连接bw系统olap4j无法设置参数

问题描述 连接bw系统olap4j无法设置参数 使用Olap4j(比较慢,求推荐好用的olap连接工具)连接sap的BW系统查找数据,单使用mdx语句会报参数未设置错误. 用fidler捕捉request发现parameter并未设置: <?xml version="1.0" encoding="UTF-8"?> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soa

win7系统使用ituns设置iphone铃声的小技巧

  win7系统使用ituns设置iphone铃声的小技巧.苹果手机默认设置有铃声,但是一些用户不喜欢使用苹果iphone设备自带的铃声,想要自己下载iphone铃声,但是不知道怎么操作.其实可在win7系统安装ituns设置iphone铃声,而且设置方法也比较简单,一点都不复杂,下面小编和大家分享win7系统使用ituns设置iphone铃声的小技巧,感兴趣或有需要的用户一起往下学习吧. 具体方法如下: 1.在电脑上安装好ituns,登录自己的apple ID; 2.添加歌曲; a. 在itu

linux命令Crontab定时任务实例

在Linux服务器部署定时任务,常要用到Crontab,主要用于网站定时脚本的执行,系统维护.备份的定时任务等,本文介绍Crontab部署任务的方式和命令 Linux系统使用Crontab跑计划任务,也就是定时任务,基本的语法格式是: 2 */1 * * * /data/vhosts/example/cronjob/_run_1_hour.sh 而sh脚本文件就是具体的执行文件,如用PHP运行一个或多个脚本: Shell #!/bin/sh cd /data/vhosts/web/cronjob

linux中crontab定时任务未执行错误总结

没有按照规范写以下的shell脚本导致执行失败通过CentOS中的定时任务执行shell脚本失败,进行排查: 1)手动执行shell脚本(sh backup.sh)成功执行,排除sh脚本的语法错误. 2)通过nano /etc/crontab命令查看定时任务,发现除过执行sh的定时任务外,其他任务都能正常执行.检查其代码, 发现对SHELL.PATH.MAILTO.HOME还没有好好了解过,以往都是注意下面的时间规则,所以查了一下定义: 1)SHELL,变量的值指定shell 环境(此处默认为

linux系统日期时间设置查看命令

1.date命令 date命令的功能是显示和设置系统日期和时间. 该命令的一般格式为: date [选项] 显示时间格式(以+开头,后面接格式) date 设置时间格式 命令中各选项的含义分别为: -d datestr, --date datestr 显示由datestr描述的日期 -s datestr, --set datestr 设置datestr 描述的日期 -u, --universal 显示或设置通用时间  代码如下 复制代码 查看系统时间 # date 设置系统时间 # date -

Linux系统上架设VSFTP服务器实例解析

实验环境:AS4最小化安装 实验目标:架设VSFTP服务器 这次我们来学习Linux系统中的 vsftp服务器的配置. 下面我们开始了!首先我们安装vsftp服务器端的软件. vsftpd服务器的安装文件位于第1张安装光盘中. 使用rpm命名可顺利安装该软件包. # rpm -ivh vsftpd-2.0.1-5.i386.rpm 安装完后默认就可以启动vsftp服务了, [root@localhost ~]# service vsftpd start Starting vsftpd for v

Linux系统时间怎么设置

Linux时钟分为系统时钟(System Clock)和硬件(Real Time Clock,简称RTC)时钟.系统时钟是指当前Linux Kernel中的时钟,而硬件时钟则是主板上由电池供电的时钟,这个硬件时钟可以在BIOS中进行设置.当Linux启动时,硬件时钟会去读取系统时钟的 设置,然后系统时钟就会独立于硬件运作. Linux 中的所有命令(包括函数)都是采用的系统时钟设置.在Linux中,用于时钟查看和设置的命令主要有date.hwclock和clock.其 中,clock和hwclo