使用crontab你可以在指定的时间执行一个shell脚本或者一系列Linux命令。 crontab -l 查看当前的定时任务 crontab –e : 修改 crontab 文件. crontab –l : 显示 crontab 文件。 crontab -r : 删除 crontab 文件。 crontab -ir : 删除 crontab 文件前提醒用户。 以上就是crontab的使用规则,以及定时方法的使用。 下面我们先来写两个简单的定时任务来让大家认识一下crontab的魅力: 第一个例子:将命令行的ls信息输出到ls.log文件中,频率为每分钟1次 1. crontab -e 进入编辑页面
cron任务分两类: 系统cron: 定义在/etc/crontab 用户cron: 定义在/var/spool/cron目录中,每个用户都有一个与用户名同名的文件 ,其功能类似于/etc/crontab 每行定义一个独立的任务: SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr
个人网站、项目部署、开发环境、游戏服务器、图床、渲染训练等免费搭建教程,多款云服务器20元起。
/service crond stop //关闭服务 /sbin/service crond restart //重启服务 /sbin/service crond reload //重新载入配置 查看crontab 服务是否已设置为开机启动,执行命令:ntsysv chkconfig --level 35 crond on 加入开机自动启动 crontab -l 列出当前的crontab任务 crontab - d 删除当前的crontab任务 crontab -e (solaris5.8上面是 crontab -r) 编辑一个crontab任务,执行后就会在/var/spool/cron/下面创建对应用户的文件 crontab filename 以filename做为crontab的任务列表文件并载入 格式 crontab 文件中的行由 6 个字段组成,不同字段间用空格或 tab 键分隔。
一般一个用户最多只有一个crontab文件。 二、/etc/crontab 这个文件负责安排由系统管理员制定的维护系统以及其他任务的crontab。 AIX 中 普通用户默认都有 crontab 权限,如果要限制用户使用 crontab ,就需要编辑/var/adm/cron/cron.deny HP-UNIX 中默认普通用户没得crontab 权限 用户把需要执行的命令序列放到crontab文件中以获得执行。 每个用户都可以有自己的crontab文件。/var/spool/cron下的crontab文件不可以直接创建或者直接修改。 该crontab文件是通过crontab命令创建的 在crontab文件中如何输入需要执行的命令和时间。该文件中每行都包括六个域,其中前五个域是指定命令被执行的时间,最后一个域是要被执行的命令。 -l 在标准输出上显示当前的crontab。 -r 删除当前的crontab文件。 -e 使用VISUAL或者EDITOR环境变量所指的编辑器编辑当前的crontab文件。
crontab 是用来让使用者在固定时间或固定间隔执行程序之用,类似于windows的计划任务 安装: yum -y install vixie-cron yum -y install crontabs service crond stop #关闭服务 /sbin/service crond restart #重启服务 /sbin/service crond reload #重新载入配置 简单操作: #列出crontab 任务 crontab -l #编辑crontab任务 crontab -e #删除crontab任务 crontab -r 编辑任务例子: 每隔20分钟调用php解释器执行一次test.php文件:
随意路径存放一个shell脚本如/opt/crontab_sh.sh source ~/.bashrc etime=`date -d "0 days ago" +%Y%m%d_%H%M%S` if [ "$1" = "-r" ] ; then echo "你别乱删除" echo "还好没有生效,下次注意别乱使用crontab -r" exit 2 fi if [ "$1" /usr/bin/crontab -l > ~/crontab_bak/$etime.a /usr/bin/crontab -e /usr/bin/crontab -l > ~/crontab_bak/$etime.b fi 在 /etc/bashrc /etc/bash.bashrc/ ~/.bashrc 以上其中一个文件最后添加alias crontab= "/opt/crontab_sh.sh" 如果你添加在~/.bashrc则 source ~/.bashrc 注意:其他人要重进linux才生效
crontab设置 ubuntu16.04server 自带crontab 执行crontab -e 选择编辑器后在文本最后添加上以下 10 00 * * * /home/ubuntu/cron_cmd.sh
安装crontab: [root@CentOS ~]# yum install vixie-cron [root@CentOS ~]# yum install crontabs 说明: vixie-cron 服务状态:service crond status 手动启动crontab服务:service crond start 查看crontab服务是否已设置为开机启动,执行命令:ntsysv 加入开机自动启动 : chkconfig --level 35 crond on 1,crontab命令 功能说明:设置计时器。 语 法:crontab [-u <用户名称>][配置文件] 或 crontab [-u <用户名称>][-elr] 补充说明:cron是一个常驻服务,它提供计时器的功能,让用户在特定的时间得以执行预设的指令或程序 0点) 第3列表示日期1~31 第4列表示月份1~12 第5列标识号星期0~6(0表示星期天) 第6列要运行的命令 crontab文件的一些例子: 30 21 * * * /usr/local/
crontab介绍 用于创建定时执行的任务 常用命令 1. 创建cron任务 crontab -e 进入vi模式,输入cron表达式与要执行的命令即可 * * * * * echo 'crontest' >> ~/crontest.txt 2. 查看cron任务 crontab -l 3. 启动cron whereis cron sudo /usr/sbin/cron start 4. Linux查看crontab执行日志 cat /var/log/cron 示例 * * * * * /home/dan/bin/script.sh: 每分钟运行。
这里将介绍下crontab的配置参数以及一些使用实例。 crontab配置文件 Linux下的任务调度分为两类:系统任务调度和用户任务调度。 crontab 命令详解 完整介绍可通过 man crontab 查看。 格式 crontab [-u user] file crontab [ -u user ] [ -i ] { -e | -l | -r } 选项含义 -u :用于设定某个用户的crontab服务,通常配合其它选项使用 ; file: file为命令文件名,表示将file作为crontab的任务列表文件并载入crontab; -e:编辑某个用户的crontab文件内容,如未通过 -u 指定用户则表示当前用户;该命令会打开一个文本编辑器 几个需要注意的点 crontab有2种编辑方式:直接编辑 /etc/crontab 文件或 crontab –e,其中 /etc/crontab 里的计划任务是系统中的计划任务,而用户的计划任务需要通过
命令格式 crontab [-u user] file crontab [-u user] [ -e | -l | -r ] 命令功能 通过crontab 命令,我们可以在固定的间隔时间执行指定的系统指令或 file:file是命令文件的名字,表示将file做为crontab的任务列表文件并载入crontab。 如果在命令行中没有指定这个文件,crontab命令将接受标准输入(键盘)上键入的命令,并将它们载入crontab。 -e:编辑某个用户的crontab文件内容。 如果不指定用户,则表示编辑当前用户的crontab文件。 -l:显示某个用户的crontab文件内容,如果不指定用户,则表示显示当前用户的crontab文件内容。 -r:从/var/spool/cron目录中删除某个用户的crontab文件,如果不指定用户,则默认删除当前用户的crontab文件。 -i:在删除用户的crontab文件时给确认提示。
网上收集,多次踩坑,立此存照 crontab八诫 不要假定cron知道所需要的特殊环境,它其实并不知道。所以你要保证在shelll脚本中提供所有必要的路径和环境变量,除了一些自动设置的全局变量。 这时必须大胆怀疑是环境变量惹的祸,并可以尝试在crontab中直接引入环境变量解决问题。如: 0 * * * * . 千万别乱运行 crontab -r。它从Crontab目录(/var/spool/cron)中删除用户的Crontab文件。删除了该用户的所有crontab都没了。 在crontab中%是有特殊含义的,表示换行的意思。 如果要用的话必须进行转义 \%,如经常用的date '+%Y%m%d'在crontab里是不会执行的,应该换成 date '+\%Y\%m\%d'。 永远要手工验证一下crontab中的命令
什么是crontab? crontab命令常见于Unix和类Unix的操作系统之中,用于设置周期性被执行的指令。 是设定定时任务执行文件 cron.deny文件就是用于控制不让哪些用户使用crontab的功能 每个用户都有自己的cron配置文件,通过crontab -e 就可以编辑,一般情况下我们编辑好用户的cron 5. crontab 命令使用方法 可以通过 man 命令查看具体的使用的方法 crontab [-u user] file crontab [-u user] [-l | -r | -e] [-i ] [-s] crontab -n [ hostname ] crontab -c -u Appends the name of the user whose crontab is to be modified If this option is not used, crontab examines "your" crontab, i.e., the crontab of the person
2.如何使用cron crontab文件的含义: 用户所建立的crontab文件中,每一行都代表一项任务,每行的每个字段代表一项设置,它的格式共分为六个字段,前五段是时间设定段,第六段是要执行的命令段, 停止 cron 服务,使用service crond stop 重启 cron 服务,使用service crond restart 重新载入配置,使用service crond reload 4.查看crontab
1.什么是crontab crontab命令常见于Unix和类Unix的操作系统之中,用于设置周期性被执行的指令。 2.crontab命令详解 1.命令格式: crontab[-uuser]file crontab[-uuser][-e|-l|-r] 2.命令功能: 通过crontab命令,我们可以在固定的间隔时间执行指定的系统指令或 file:file是命令文件的名字,表示将file做为crontab的任务列表文件并载入crontab。 如果在命令行中没有指定这个文件,crontab命令将接受标准输入(键盘)上键入的命令,并将它们载入crontab。 -e:编辑某个用户的crontab文件内容。 如果不指定用户,则表示编辑当前用户的crontab文件。 -l:显示某个用户的crontab文件内容,如果不指定用户,则表示显示当前用户的crontab文件内容。
Linux 命令大全 Linux crontab是用来定期执行程序的命令。 当安装完成操作系统之后,默认便会启动此任务调度命令。 [ -u user ] file 复制代码 或 crontab [ -u user ] { -l | -r | -e } 复制代码 说明: crontab 是用来让使用者在固定时间或固定间隔执行程序之用 | +-------------------- 小时 (0 - 23) +------------------------- 分钟 (0 - 59) 使用者也可以将所有的设定先存放在文件中,用 crontab /etc/profile;/bin/sh /var/www/runoob/test.sh > /dev/null 2>&1 复制代码 脚本无法执行问题 如果我们使用 crontab 来定时执行脚本,无法执行 /etc/profile . ~/.bash_profile 复制代码 3、在 /etc/crontab 中添加环境变量,在可执行命令之前添加命令 .
第1列分钟1~59 第2列小时1~23(0表示子夜) 第3列日1~31 第4列月1~12 第5列星期0~6(0表示星期天) 第6列要运行的命令 下面是crontab的格式: 分 时 日 月 星期 要运行的命令 这里有crontab文件条目的一些例子: 30 21 * * * /usr/local/apache/bin/apachectl restart 上面的例子表示每晚的21:30重启 apache/bin/apachectl restart 每一小时重启apache #20160912修正,感谢@张琼的指正,之前写错了,*/1和*表示的同样的意思,对于 / 的用法,可以参考另一篇文章 Crontab
@(Linux 命令脚本) 今天在写脚本在几十个机器上部署,需要通过脚本在 crontab 中新加定时任务 查了下,不同用户的 crontab 在目录 /var/spool/cron/crontabs 最后解决如下 : crontab -l >> crontab_tmp.txt echo "5 1 * * * sh home/lcd/test.sh" >> crontab.txt crontab crontab.txt 顺便整理下 : crontab 使用 crontab 用于 Linux 下定时执行任务, 对于分钟级或者以上的定式任务,可以在 crontab 中插入条目定式执行,比如定式系统备份什么的。 文件 $ crontab -e # 打开编辑当前用户的crontab,写入后退出即生效 $ crontab file # 用file替换当前crontab内容 $ crontab -l # 列出 crontab内容 $ crontab -r # 删除 以上命令默认打开对应执行用户的 crontab,通过参数-u username指定用户,前提是拥有权限哈。
最近用Python写了一些数据统计的脚本,并使用crontab自动执行,但是配置crontab总是要过几个坑才行的,这里总结一下这次遇到的坑。 输出 要将crontab命令的输出记录到日志文件中,可以使用重定向,不仅要重定向stdout也要重定向stderr,因为Python解释器会将异常输出到stderr。 示例: $HOME/path/to/script > $HOME/log/file 2>&1 & 环境变量 crontab会以用户的身份执行配置的命令,但是不会加载用户的环境变量,crontab会设置几个默认的环境变量 我们往往会在.bash_profile文件中定义一些全局的环境变量,但是crontab执行时并不会加载这个文件,所以你在shell中正常执行的程序,放到crontab里就不行了,很可能就是因为找不到环境变量了 要解决这个问题只能是自己加载环境变量了,可以在shell脚本中添加source $HOME/.bash_profile,或者直接添加到crontab中。
查看当前用户 Crontab 任务列表 crontab -l 编辑当前用户 Crontab 任务 crontab -e 查看某用户 Crontab 任务列表(需sudo权限) crontab -l -u 查看所有用户 Crontab 任务 for u in `cat /etc/passwd | cut -d":" -f1`;do sudo crontab -l -u $u;done
扫码关注腾讯云开发者
领取腾讯云代金券