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

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表示错误信息也作为标准输出到该日志文件中

本文最后更新于2023年1月31日,已超过 1 年没有更新,如果文章内容或图片资源失效,请留言反馈,我们会及时处理,谢谢!

如果你对这篇文章有什么疑问或建议,欢迎下面留言提出,我看到会立刻回复!

打赏
未经允许不得转载:马春杰杰 » macOS/Ubuntu系统定时执行bashshell命令|macOS/Ubuntu定时执行指定脚本
超级便宜的原生ChatGPT4.0

留个评论吧~ 抢沙发 评论前登陆可免验证码!

私密评论
  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址(选填,便于回访^_^)

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

支付宝扫一扫打赏

微信扫一扫打赏

登录

忘记密码 ?

切换登录

注册