继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

cron the input device is not a tty

素胚勾勒不出你
关注TA
已关注
手记 176
粉丝 53
获赞 274
Cron: 在非TTY设备上执行任务

Cron是Unix和类Unix系统中的时间基础作业调度器,它允许用户以计划的方式执行任务。当Cron接收到一个任务时,它会将其添加到调度器的队列中,并在指定的时间执行该任务。Cron任务的执行是基于时间计划的,这意味着任务将在预定的时间自动执行,而不需要人为干预。

在Linux系统中,Cron配置文件用于设置Cron作业的时间表达式以及作业的执行顺序等。Cron的时间表达式是一种非常强大的工具,它可以让你精确地控制作业的执行时间。例如,你可以使用"@hour"、"@minute"、"@day"、"@month"和"@year"等关键字来指定作业的执行时间。

然而,当输入设备不是TTY时,可能意味着无法通过标准输出或标准错误流与Cron进行交互。对于这种情况,我们可以使用Cron的别名功能来使得作业可以在非TTY设备上执行。别名是指定一段Cron表达式,可以用来代替具体的作业名称。例如,如果我们的作业名为"myjob",则可以使用别名"*"来代替。这样,我们就可以使用非TTY设备来运行这个作业了。

虽然非TTY设备不能像TTY一样直接编辑Cron配置文件,但是我们可以通过一些特殊的技巧来实现Cron作业在非TTY设备上的执行。这对于那些需要在非TTY设备上执行的任务来说是非常有用的。

下面是一个简单的例子,展示了如何使用Cron在非TTY设备上执行一个作业:

#!/bin/bash

# 定义作业名称
job_name="myjob"

# 定义Cron表达式
cron_expression="* * * * * /usr/bin/bash /path/to/${job_name}.sh"

# 添加作业到调度器队列
crontab -e -i -
打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP