系统小窝欢迎您

电脑公司 深度技术
当前位置:系统小窝 > 系统教程 > Linux教程 >

Linux系统中定时命令的使用技巧

时间:2021-04-09 来源:大神到 人气:

对于初学者来说,Linux系统命令是主要学习的内容,在Linux众多命令中,有些命令可定时运行,下面小编就给大家详细介绍下Linux中定时运行命令的用法,一起来了解下吧。

1.命令简介

每个用户都有各自不同的计划任务列表,用各自的帐户登录后运行

代码如下:

crontab -l

就可查看到各任务的计划任务情况,使用下列命令可以修改自己的计划任务

代码如下:

crontab -e

每次添加完任务后,一定记得重新启动crond服务,不然不会生效

代码如下:

service crond restart

2.实例

下面为一计划任务的样例

代码如下:

#每个月的4号和每个礼拜的礼拜一到礼拜三的早上11点

0 11 4 * mon-wed date

上面这句的意思是;每个月的4号和每个礼拜的礼拜一到礼拜三的早上11点显示时间;,你把date改成你想执行的命令,再把执行的时间改了,就可以形成一个定时执行命令了

代码如下:

#每分钟执行一次

*/1 * * * * date

#在/root/run_sh/下面写一个shell脚本,命名为run.sh,内容如下

#!/bin/sh

echo hello 》 /root/Hello.txt

然后运行crontab -e命令,写入

代码如下:

*/1 * * * * /root/run_sh/run.sh(一定要绝对路径)

保存退出后执行service crond restart,过一分钟后你就会在/root下看到Hello.txt文件。

 

代码如下:

#定时运行java程序,写一命名为run.sh的shell脚本,内容如下

#!/bin/sh

cd /root/javaExe/

java TestCron/Test

后运行crontab -e 写入

*/1 * * * * /root/run_sh/run.sh(一定要绝对路径)

后重启crond服务。

3.空格之间的参数意义如下

分钟 小时 天 月 星期 要执行的命令

前面五个参数中间用空格隔开,最后是要执行的命令。

详细的请参考下面

Crontab是一个很方便的在unix/linux系统上定时(循环)执行某个任务的程序

使用cron服务,用 service crond status 查看 cron服务状态,如果没有启动则 service crond start启动它,

cron服务是一个定时执行的服务,可以通过crontab 命令添加或者编辑需要定时执行的任务:

crontab -u //设定某个用户的cron服务,一般root用户在执行这个命令的时候需要此参数

crontab -l //列出某个用户cron服务的详细内容

crontab -r //删除没个用户的cron服务

crontab -e //编辑某个用户的cron服务

比如说root查看自己的cron设置:crontab -u root -l

再例如,root想删除fred的cron设置:crontab -u fred -r

在编辑cron服务时,编辑的内容有一些格式和约定,输入:crontab -u root -e

进入vi编辑模式,编辑的内容一定要符合下面的格式:*/1 * * * * ls 》》 /tmp/ls.txt

编辑/etc/crontab文件,在末尾加上一行: 30 5 * * * root init 6 这样就将系统配置为了每天早上5点30自动重新启动。

需要将crond设置为系统启动后自动启动的服务,可以在/etc/rc.d/rc.local 中,在末尾加上

代码如下:

service crond start

如果还需要在系统启动十加载其他服务,可以继续加上其他服务的启动命令。

比如:

代码如下:

service mysqld start

基本用法:

1. crontab -l

列出当前的crontab任务

2. crontab -d

删除当前的crontab任务

3. crontab -e (solaris5.8上面是 crontab -r)

编辑一个crontab任务,ctrl_D结束

4. crontab filename

以filename做为crontab的任务列表文件并载入

crontab file的格式:

crontab 文件中的行由 6 个字段组成,不同字段间用空格或 tab 键分隔。前 5 个字段指定命令要运行的时间

分钟 (0-59)

小时 (0-23)

日期 (1-31)

月份 (1-12)

星期几(0-6,其中 0 代表星期日)

第 6 个字段是一个要在适当时间执行的字符串

例子:

代码如下:

#MIN HOUR DAY MONTH DAYOFWEEK COMMAND

#每天早上6点10分

10 6 * * * date

#每两个小时

0 */2 * * * date (solaris 5.8似乎不支持此种写法)

#晚上11点到早上8点之间每两个小时,早上8点

0 23-7/2,8 * * * date

#每个月的4号和每个礼拜的礼拜一到礼拜三的早上11点

 

0 11 4 * mon-wed date

#1月份日早上4点

0 4 1 jan * date

补充:在使用crontab的时候,要特别注意的是运行脚本中能够访问到的环境变量和当前测试环境中的环境变量未必一致,一个比较保险的做法是在运行的脚本程序中自行设置环境变量(export)

(1)先建一个文件crond.txt如下, 每天早上5点36分重新启动

36 5 * * * reboot

(2)上传到/opt目录

(3)运行命令

crontab /opt/crond.txt

crontab -l

让配置文件生效:如果让配置文件生效,还得重新启动cron,切记,既然每个用户下的cron配置文件修改后。也要重新启动cron服务器。

在Fedora 和Redhat中,我们应该用;

[root@localhost ~]# /etc/init.d/crond restart

如果让crond 在开机时运行,应该改变其运行级别;

[root@localhost ~]# chkconfig --levels 35 crond on

service crond status 查看 cron服务状态,如果没有启动则 service crond start启动它, cron服务是一个定时执行的服务,可以通过crontab 命令添加或者编辑需要定时执行的任务

下面是一个例子文件:

代码如下:

#MIN HOUR DAY MONTH DAYOFWEEK COMMAND

#每天早上6点

106* * * date

#每两个小时

0*/2* * * date

#晚上11点到早上8点之间每两个小时,早上部点

0 23-7/2,8* * * date

#每个月的4号和每个礼拜的礼拜一到礼拜三的早上11点

0 11 4* mon-wed date

#1月份日早上4点

0 4 1 jan* date

范例

lark:~》crontab-1 列出用户目前的crontab.

#MIN HOUR DAY MONTH DAYOFWEEK COMMAND

10 6* * * date

0*/2* * * date

0 23-7/2,8 * * * date

lark:~》

基本格式 :

*****command

分  时  日  月  周  命令

第1列表示分钟1~59 每分钟用*或者 */1表示

第2列表示小时1~23(0表示0点)

第3列表示日期1~31

第4列表示月份1~12

第5列标识号星期0~6(0表示星期天)

第6列要运行的命令

crontab文件的一些例子:

代码如下:

30 21 * * * /usr/local/etc/rc.d/lighttpd restart

上面的例子表示每晚的21:30重启lighttpd 。《/p》 《p》45 4 1,10,22 * * /usr/local/etc/rc.d/lighttpd restart

上面的例子表示每月1、10、22日的4 : 45重启lighttpd 。《/p》 《p》10 1 * * 6,0 /usr/local/etc/rc.d/lighttpd restart

上面的例子表示每周六、周日的1 : 10重启lighttpd 。《/p》 《p》0,30 18-23 * * * /usr/local/etc/rc.d/lighttpd restart

上面的例子表示在每天18 : 00至23 : 00之间每隔30分钟重启lighttpd 。《/p》 《p》0 23 * * 6 /usr/local/etc/rc.d/lighttpd restart

上面的例子表示每星期六的11 : 00 pm重启lighttpd 。《/p》 《p》* */1 * * * /usr/local/etc/rc.d/lighttpd restart

每一小时重启lighttpd《/p》 《p》* 23-7/1 * * * /usr/local/etc/rc.d/lighttpd restart

晚上11点到早上7点之间,每隔一小时重启lighttpd《/p》 《p》0 11 4 * mon-wed /usr/local/etc/rc.d/lighttpd restart

每月的4号与每周一到周三的11点重启lighttpd《/p》 《p》0 4 1 jan * /usr/local/etc/rc.d/lighttpd restart

一月一号的4点重启lighttpd

上面就是Linux定时运行命令的用法介绍了,当你在操作Linux系统的时候,这些定时运行命令能够节省很多操作,是比较常用的命令。

相关文章

  • 如何使用命令行更改Linux系统的日期和时间

    如何使用命令行更改Linux系统的日期和时间

    Linux 系统的时间有时候会不准,不准确的时间会导致日志文件中的时间出现错误,所以准确的时间是很重要的,那么要怎么更改Linux 系统的时间呢?下面小...
    2014-12-02 03.12.57
  • Linux tail命令的用法

    Linux tail命令的用法

    Linux tail命令主要用于把档案文件的最后几行显示到终端上,以确保能看到最新的内容,那么Linux tail要怎么用呢?下面小编就给大家介绍下Linux tail的用法。...
    2014-12-03 02.12.47
  • 最详细的Linux压缩解压缩命令

    最详细的Linux压缩解压缩命令

    压缩文件可以为磁盘节省不少空间,那么Linux系统的压缩和解压命令都有哪些呢?下面小编就给大家介绍下Linux压缩和解压的命令大全,希望对你有所帮助。...
    2014-12-03 04.12.37
  • Linux中pwd命令有什么用?

    Linux中pwd命令有什么用?

    Linux pwd命令主要用于打印当前工作目录的工作路径, 如果你想要使用pwd命令,就要对pwd命令的用法十分了解,下面小编就给大家介绍下Linux中的pwd命令的用...
    2014-12-04 03.12.11
  • Linux中如何使用rmdir命令指南

    Linux中如何使用rmdir命令指南

    我们都知道Linux命令中的rm命令主要用于删除文件,那么 rmdir命令又有什么作用呢?下面小编就给大家介绍下Linux命令中rmdir命令的主要功能吧。...
    2014-12-04 04.12.46

发表评论

验证码: 看不清?点击更换

注:网友评论仅供其表达个人看法,并不代表本站立场。