Crontab 在linux中的非常有用的Schedule Jobs

  crontab 是linux系统集成的定时任务命令,它对于系统运行(数据的备份,调度系统资源或命令,程序的定时触发等非常有用)。crontab有些类似于Windows系统的Service的任务计划程序。它可以指定某个后台程序的执行的时间或者时间间隔。

  大家可以安装VMware虚机,测试mysql数据的备份,测试webservice服务的定时启动等等,也许你会用上shell编程;

  那下面开始跟大家说说crontab的使用:

  [Minute] [Hour] [Month] [Year] [Week] [Command]

  

  这里介绍两种方法去执行调度命令:

  大家先创建SystemDate文件,后面才能  >>  或 先在终端输入 #date > /home/SystemDate

  a、输入 #crontab -e (不推荐)

    例如:    

     * * * * * date >> /home/SystemDate     (每分钟查询日期,并记录在SystemDate文件中)                                            

  b、输入#vim myCron.sh  创建.sh文件,编辑如下命令,并存盘退出

    例如:  

     date >> /home/SystemDate                                                                                                 

    补充:

    >>的意思是追加(适用场景:把一个文件的内容复制到另一个文件的末尾)

    >  的意思是重定向,就要覆盖原来文件的内容

    注意:要将myCron.sh 修改成执行文件 

     chmod 744 myCron.sh                                                                                                       

    让myCron.sh 至少是  -rwxr--r--

    1、下面就说,如何添加和编辑 Crontab  

      #crontab -e                                                                                                              

(包括默认编辑器,如果你的linux已经修改了VISUAL环境变数的话,那编辑器就你的算!)

   在操作crontab时,是对用户来说,所以请指定用户,当然不指定的话,肯定就是默认当前登陆用户crontab -u username                                                                

   2、列出用户当前的 Crontab   

    crontab -1                                                                  

    列出其他用户的Crontab  

    #crontab -u username -l                                                                                                

    3、删除用户当前的 Crontab 

    crontab -u username -r                                                           

    4、其他操作:

    

5、从实例中说明,也许你会看得很清楚:

     5.1 每一天的某个时刻执行(一天执行一次),例如每天凌晨 2:00 执行

      0 2 * * * date >> /home/SystemDate                                                   

     5.2 每一天的两个时刻执行(一天执行两次),例如 早上8:00 晚上20:00 都执行

       0 8,20 * * * date >> /home/SystemDate                                                

     5.3 每一分钟都执行一次

       * * * * * date >> /home/SystemDate                                                      

    5.4 每个星期的固定的一天中的某个时刻,例如每个星期的星期一上午8:00执行

       0 8 * * 1 date >> /home/SystemDate                                                   

    5.5 每十分钟执行一次

       */10 * * * * date >> /home/SystemDate                                                   

    5.6 让命令只在3月、4月、10执行 

       * * * 3,4,10 * date >> /home/SystemDate                                                  

    5.7 每个星期中固定的某两天的某个固定时刻执行,例如 每个星期的星期一和星期三的上午8:00执行

       0 8 * * 1,3 date >> /home/SystemDate                                                   

    5.8 每四个小时执行一次

       0 */4 * * * date >>  /home/SystemDate                                                  

    5.9 每个星期中固定的某两天的某两个固定时刻执行,例如 每个星期的星期一和星期三的上午8:00和晚上20:00执行

       0 8,20 * * * date >> /home/SystemDate                                                                   

    5.10 每三十秒执行一次

       * * * * * date >> /home/SystemDate                                                   
       * * * * * sleep 30                                                               

    5.11 每年的第一分钟 @yearly = 0 0 1 1 *

       0 0 1 1 * date >> /home/SystemDate                                                    

    5.12 每个月的第一分钟 @monthly = 0 0 1 * *

    0 0 1 * * date >> /home/SystemDate                                                      

    5.13 每个星期的第一分钟@weekly = 0 0 1 * *

    0 0 1 * * date >> /home/SystemDate                                                   

    5.14每天的第一分钟 @daily =0 0 * * *

    0 0 * * * date >> /home/SystemDate                                                   

    5.15每个小时的第一分钟 @hourly = 0 * * * *

    0 * * * * date >> /home/SystemDate                                                   

    下面还有很多 Examples ,真的不能一一列了,都已经四点了;(第一次把排版弄这么好(相对于我来说哈),做好一件事真的不容易);

  

时间: 2024-10-20 13:07:53

Crontab 在linux中的非常有用的Schedule Jobs的相关文章

Linux 中 10 个有用的命令行补全例子

在 Linux 系统中,当你输入一个命令,再按两次 TAB 键,就会列出所有以你输入字符开头的可用命令.这并不新鲜,可能你已经知道了.这个功能被称作命令行补全bash completion.默认情况下,bash 命令行可以自动补全文件或目录名称.不过,我们可以增强 bash 命令补全功能,通过 complete 命令让它达到新的高度. 这个教程说明了我们是怎样使用可编程的命令行补全功能programmable completion把自动补全功能应用于选项或者命令行参数. 例如:在输入 write

Linux中的crontab命令用法

Crontab 在linux中,crontab的用来设置定期执行指定的命令,我们可以用它来指定一些需要重复的事情,Linux系统的用户只需将想要定期要执行的命令序列加到crontab文件中,操作系统即会按用户配置的时间执行这些命令序列.向crontab文件里添加指令之前,需要检查下crontab服务是否已启动和是否开机自动启动: [查看状态] Linux 系统上面原本就有非常多的计划性工作,因此这个系统服务是默认启动的 可以使用service crond status进行查看状态,下图是我在ce

5 个在 Linux 中管理文件类型和系统时间的有用命令

对于想学习 Linux 的初学者来说要适应使用命令行或者终端可能非常困难.由于终端比图形用户界面程序更能帮助用户控制 Linux 系统,我们必须习惯在终端中运行命令.因此为了有效记忆 Linux 不同的命令,你应该每天使用终端并明白怎样将命令和不同选项以及参数一同使用. 在 Linux 中管理文件类型和设置时间 请先查看我们 Linux 小技巧系列之前的文章: 5 个有趣的 Linux 命令行技巧 给新手的 10 个有用 Linux 命令行技巧 在这篇文章中,我们打算看看终端中 5 个和文件以及

Linux中定时任务crontab

linux中crontab是一个用于很方便定时任务的工具.比如说定时跑脚本处理等等.crontab文件包含送交cron守护进程的一系列作业和指令.每个用户可以拥有自己的crontab文件:同时,操作系统保存一个针对整个系统的crontab文件,该文件通常存放于/etc或者/etc之下的子目录中,而这个文件只能由系统管理员来修改. crontab命令: 1.参数: -e [UserName]: 执行文字编辑器来设定时程表,内定的文字编辑器是 VI -r [UserName]: 删除目前的时程表 -

Linux中使用crontab命令定时执行shell脚本或其他Linux命令

使用crontab你可以在指定的时间执行一个shell脚本或者一系列Linux命令.例如系统管理员安排一个备份任务使其每天都运行 如何往 cron 中添加一个作业? # crontab –e0 5 * * * /root/bin/backup.sh 这将会在每天早上5点运行 /root/bin/backup.sh Cron 各项的描述 以下是 crontab 文件的格式: {minute} {hour} {day-of-month} {month} {day-of-week} {full-pat

linux中crontab

1.直接用crontab命令编辑 cron服务提供crontab命令来设定cron服务的,以下是这个命令的一些参数与说明: crontab -u //设定某个用户的cron服务,一般root用户在执行这个命令的时候需要此参数 crontab -l //列出某个用户cron服务的详细内容 crontab -r //删除某个用户的cron服务 crontab -e //编辑某个用户的cron服务 比如说root查看自己的cron设置:crontab -u root -l 再例如,root想删除fre

Crontab执行脚本中的ssh命令访问被拒绝

我们经常会通过crontab来执行定时任务,通常生产环境中在不同主机直接进行登录是通过ssh来连接的.比如我们通过在备份服务器上设定定时任务,定期通过scp(使用SSH的远程拷贝命令)来拷贝远程服务器的数据到备份服务器上,这也是我遇到的一个事情. 环境描述: 脚本与定时任务: 定时任务设置如下: 无论是否执行成功,都把信息输出到2222.txt中 脚本内容如下: 我这里仅用ssh命令来测试,实际上这个命令如果可以正常执行的话,你执行scp命令也一样 #!/bin/bash ssh -v 192.

Linux中useradd的用法

语法:useradd [选项] 用户名 选项: -d<登陆目录> 指定新用户登陆的起始目录,默认为/home -e<有效期限> 指定用户的有效期限,格式为 YYYY-MM-DD -g<用户组> 指定用户所属的组 -p<密码> 为新用户设置密码 -r 建立系统用户 PS:1.创建一个新用户 frisen,设定登录起始目录为/home/guest,密码 123456:useradd -d /home/guest -p 123456 frisen2.创建一个指定目

Linux中常用的命令

linux中一些经常用到的命令 1. ls(list)列表:把当前文件夹的所有文件显示出来 ls -a :显示所有文件 ls -l :以详细信息显示 可以:ls -la/-al/-a -l/-l -a 这几种方式表达的意思都是:显示所有文件的详细信息 2. man:查询man手册,获得帮助信息 比较常用的方式: man 1 ls :1表示查询的是linux的命令,这里是查询ls命令的用法 man 2 xx :2表示查询的是linux的api man 3 xx :3表示查询的是c库函数(譬如man