AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 42840
Accepted
Max
Max
Asked: 2009-07-20 23:10:39 +0800 CST2009-07-20 23:10:39 +0800 CST 2009-07-20 23:10:39 +0800 CST

将 Cronjob 输出重定向到正在运行的屏幕会话?

  • 772

是否可以启动屏幕会话、设置 cronjob 并将 cronjob 的输出重定向到屏幕会话?跟随程序的输出会很棒;-)

问候....

cron gnu-screen
  • 4 4 个回答
  • 4803 Views

4 个回答

  • Voted
  1. Best Answer
    user1686
    2009-07-20T23:26:44+08:002009-07-20T23:26:44+08:00

    您可以使用该tty屏幕中的命令找到它的 tty 的路径(应该类似于/dev/pts/12),然后在 crontab 中将所有输出重定向到该路径,就好像它是一个文件一样。

    像这样:

    1 2 3 4 5 myapp &> /dev/pts/14
    • 1
  2. radius
    2009-07-20T23:56:18+08:002009-07-20T23:56:18+08:00

    grawity 提供了一个很好的方法来做到这一点,但问题是每次重新启动屏幕/服务器时,tty 都会改变。
    你可以对 write(1) 命令做一个管道,比如| write user. 这将向用户“用户”发送一条消息,您只需要在屏幕中打开一个用户该用户的窗口即可查看输出,但write会在标准输出值之前添加一些消息。

    • 1
  3. womble
    2009-07-20T23:59:33+08:002009-07-20T23:59:33+08:00

    为什么不直接在 cronjob 中启动屏幕,然后启动您想要在其中运行的任何内容? screen -d -m <command to run>应该做的伎俩。

    • 1
  4. cas
    2009-07-21T00:05:06+08:002009-07-21T00:05:06+08:00

    正如radius所提到的,没有确切的方法知道您的屏幕会话将在任何给定时刻使用哪个或哪些tty......甚至可能在屏幕中打开的许多伪tty中的哪一个是您真正想要的输出发送到。

    您最好的选择是将 cron 作业的输出(包括 stdout 和 stderr)重定向到一个文件,然后从屏幕内对其运行“tail -f”或“tail -F”。这为您提供了一个永久的日志文件以及实时观看它的能力。

    或者,根本不重定向输出,只需等待作业完成 - 然后所有输出将邮寄给作业的所有者。

    • 1

相关问题

  • 每 4 小时运行一次 cron 的正确语法是什么?[复制]

  • 用于 mysql 数据库清理和备份的 crontab

  • Windows cron 作业

  • 使用 crontab 和 /etc/cron.hourly,daily,weekly 的区别

  • crontab ifconfig 什么都不输出

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    从 IP 地址解析主机名

    • 8 个回答
  • Marko Smith

    如何按大小对 du -h 输出进行排序

    • 30 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    Windows 中执行反向 DNS 查找的命令行实用程序是什么?

    • 14 个回答
  • Marko Smith

    如何检查 Windows 机器上的端口是否被阻塞?

    • 4 个回答
  • Marko Smith

    我应该打开哪个端口以允许远程桌面?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    MikeN 在 Nginx 中,如何在维护子域的同时将所有 http 请求重写为 https? 2009-09-22 06:04:43 +0800 CST
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    0x89 bash中的双方括号和单方括号有什么区别? 2009-08-10 13:11:51 +0800 CST
  • Martin Hope
    kch 如何更改我的私钥密码? 2009-08-06 21:37:57 +0800 CST
  • Martin Hope
    Kyle Brandt IPv4 子网如何工作? 2009-08-05 06:05:31 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve