linux下定时任务以及简单shell脚本的编写

Posted 麦小七的夏天

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux下定时任务以及简单shell脚本的编写相关的知识,希望对你有一定的参考价值。

如何编写一个简单的shell(.sh)

在开始前要明白shell脚本的后缀为.sh


在此我们用SecureCRT 8.0连接服务器做测试,来创建一个可以输出“Hello word!”的简单shell


(1)首先创建一个hello.sh

vim hello.sh


(2)编写脚本

echo “Hello word!” 



(3)对此文件加入可执行权限

chmod +x ./hello.sh 


(4)执行之前的shell

./hello.sh

在下面就可以看到结果了

linux下定时任务以及简单shell脚本的编写


定时任务:

  *           *        *        *        *           command


minute   hour    day   month   week      command


分          时         天      月        星期       命令


minute: 表示分钟,可以是从0到59之间的任何整数。

hour:表示小时,可以是从0到23之间的任何整数。

day:表示日期,可以是从1到31之间的任何整数。

month:表示月份,可以是从1到12之间的任何整数。

week:表示星期几,可以是从0到7之间的任何整数,这里的0或7代表星期日。

command:要执行的命令,可以是系统命令,也可以是自己编写的脚本文件。


特殊字符:

星号(*):代表所有可能的值,例如month字段如果是星号,则表示在满足其它字段的制约条件后每月都执行该命令操作。


逗号(,):可以用逗号隔开的值指定一个列表范围,例如,“1,2,5,7,8,9”。


中杠(-):可以用整数之间的中杠表示一个整数范围,例如“2-6”表示“2,3,4,5,6”。


正斜线(/):可以用正斜线指定时间的间隔频率,例如“0-23/2”表示每两小时执行一次。同时正斜线可以和星号一起使用,例如*/10,如果用在minute字段,表示每十分钟执行一次。


为当前用户创建cron服务

1.  键入 crontab  -e 编辑crontab服务文件

      例如 文件内容如下:

* 12 * * * /usr/local/command/hello.sh  


 

2. 查看该用户下的crontab服务是否创建成功, 用 crontab  -l 命令  

 

3. 启动crontab服务 

      一般启动服务用  /sbin/service crond start 若是根用户的cron服务可以用 sudo service crond start, 这里还是要注意  下 不同版本linux系统启动的服务的命令也不同

 

4. 查看服务是否已经运行用 ps -ax | grep cron 

5. crontab命令

      cron服务提供crontab命令来设定cron服务的,以下是这个命令的一些参数与说明:

      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
        任务调度的crond常驻命令
        crond 是linux用来定期执行程序的命令。当安装完成操作系统之后,默认便会启动此  

       任务调度命令。crond命令每分锺会定期检查是否有要执行的工作,如果有要执行的工

       作便会自动执行该工作。

 

6. crontab命令选项:

     -u指定一个用户

     -l列出某个用户的任务计划

     -r删除某个用户的任务

     -e编辑某个用户的任务


以上是关于linux下定时任务以及简单shell脚本的编写的主要内容,如果未能解决你的问题,请参考以下文章

linux 定时执行shell脚本 定时任务

通过Linux定时任务实现定时轮询数据库及发送Http请求

Linux定时释放缓存Shell脚本实现自动化运维

如何写个脚本将Linux目录下的几个文件夹定时复制

Linux Crontab Shell脚本实现秒级定时任务

在linux下怎么让一个脚本定时运行