马春杰杰博客
致力于深度学习经验分享!

macOS/Ubuntu系统定时执行bashshell命令|macOS/Ubuntu定时执行指定脚本

最新目录

Linux中,周期执行的任务一般由cron这个守护进程来处理。cron读取一个或多个配置文件,这些配置文件中包含了命令行及其调用时间。cron的配置文件称为“crontab”,是“cron table”的简写。在macOS中的用法一致。

1 相关命令

查看cron服务的状态:

开启cron服务:

关闭cron服务:

重启cron服务:

2 cron用法

在crontab文件中写入需要执行的命令和时间,该文件中每行都包括六个域,其中前五个域是指定命令被执行的时间,最后一个域是要被执行的命令。每个域之间使用空格或者制表符分隔。格式如下:

合法值为:00-59 00-23 01-31 01-12 0-6 (0 is sunday) 

除了数字还有几个特殊的符号:”*”、”/”和”-“、”,”

  • *代表所有的取值范围内的数字
  • “/”代表每的意思,”/5″表示每5个单位
  • “-“代表从某个数字到某个数字
  • “,”分开几个离散的数字

:commands 注意以下几点

  • 要是存在文件,要写绝对路径
  • 即使是打印也不会显示在显示屏,在后台运行,最好重定向日志

3 创建cron文件

4 实际例子

意思是每到21点30分的时候就重启一下容器。

5 其他例子

点击展开 查看更多

6 查看日志log

6.1 macOS

这是系统级别的日志,自动记录:

macOS:vi /var/mail/mcj

或者手动输出日志:

*/1 * * * * /Users/mcj/GitCode/开机运行脚本/ipv6test_and_relogin.sh > /Users/mcj/GitCode/开机运行脚本/ipv6test_and_relogin.log 2>&1

不过这个日志每次都会覆盖。如果不想覆盖,就把<改成<<

*/1 * * * * /Users/mcj/GitCode/开机运行脚本/ipv6test_and_relogin.sh >> /Users/mcj/GitCode/开机运行脚本/ipv6test_and_relogin.log 2>&1

crontab1表示正常的标准输出,2表示错误输出。这里2>&1表示错误信息也作为标准输出到该日志文件中

赞(206) 打赏
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《macOS/Ubuntu系统定时执行bashshell命令|macOS/Ubuntu定时执行指定脚本》
文章链接:https://www.machunjie.com/linux/236.html
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。

评论 抢沙发

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续提供更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫

微信扫一扫

:smile: :sad: :arrow: :cool: :confused: :cry: :eek: :evil: :exclaim: :idea: :lol: :mad: :mrgreen: :neutral: :question: :razz: :redface: :rolleyes: :surprised: :wink: :biggrin: :twisted: