小编Cli*_*ong的帖子

启动停止在“关于系统运行级别更改的开始更新 UTMP” - 无头服务器...没有 X

现在是早上 8 点 27 分。我还没睡。我累死。所以我要离开这里去睡觉了。之后我会检查它。如果我有点偏南,请原谅我。

在 VPS 上运行的 Ubuntu 16.04.3 LTS 服务器。在同一台主机 CentOS6 上安装了另一个 VPS。CentOS vps 仍在继续。Ubuntu vps 无法启动。最后的变化是添加了一个 Virtualmin“虚拟服务器”(实际上只是一个对某些守护进程具有特权的单独用户)。和一些摆弄后缀。我在网上阅读的所有内容都说要撕掉我的图形驱动程序并重新安装它们。好吧,我没有任何图形驱动程序,因为我没有图形。没有 X。没有窗口管理器。当然不是用于 X 的英特尔或 nvidia 图形驱动程序。

到目前为止,我最接近合理的解决方案是一篇关于 Arch Linux 的半古老论坛帖子。由于缺少从 /var/run 到 /run 的符号链接而导致的相同问题。嗯,我有那个符号链接。所以可能不是这样。除了上面非常无益的消息之外,没有任何迹象表明可能出现了什么问题。

一线希望... vps 具有内置于管理程序的独立 VNC 功能...所以我仍然可以访问终端。我可以CTRL+ ALT+F2进入登录上TTY2提示,即使在启动消息仍然停留在tty1上。虽然没有网络连接。相当大一部分 systemd 服务/单元尚未启动。多次重新启动没有产生任何有意义的变化。

在一切顺利之前,它确实谈到了“达到目标图形界面”。但是再次...没有X。是的,我实际上检查了以确保xorg/x11 没有以某种方式被拉入依赖项。截图如下。

在此处输入图片说明

ubuntu headless systemd

10
推荐指数
1
解决办法
4万
查看次数

将 stderr 和 stdout 分别重定向到 bash 脚本中的函数

我正在编写一个包装脚本来将 cronjob 输出记录到 journald。

我有几个目标:

  • 必须将 stderr 和 stdout 以不同的优先级和前缀标签记录到日志中
  • 还必须将包装命令的 stderr 输出到包装脚本的 stderr(由 cron 捕获并通过电子邮件发送警报)
  • 必须始终保持行序

到目前为止,我似乎有两个问题:

  1. 我不确定如何将 stderr 和 stdout 分别重定向到我的日志记录功能。到目前为止,我尝试过的所有内容都无法重定向除 NULL 以外的任何内容。在我看来,重定向不是我的强项之一。(已解决,见评论)
  2. 我目前的方法{ $_EXEC $_ARGS 2>&1 1>&7 7>&- | journaldlog error; } 7>&1 1>&2 | journaldlog info似乎正好运行两次日志记录功能,一次用于 stderr,一次用于 stdout。这不会保留行顺序。我宁愿它在每个输出行运行一次该函数。

我应该放弃在 bash 中执行此操作并尝试使用 Perl 吗?我确信我的 Perl 经验会回到我身上......最终。

我尝试了很多不同的方法。其中大部分是在网上找到的,尤其是在堆栈交换上。老实说,我不记得我还尝试过什么……此时只是模糊。bash 文档也没有太大帮助。

bash logs io-redirection shell-script systemd-journald

6
推荐指数
2
解决办法
6323
查看次数