Articles of bash

如何编写标准输出和错误logging和从exec

例如,将标准错误和标准输出写入$ LOG。 但是这不会打印任何东西到标准输出(在控制台上) #!/bin/bash LOG=/var/tmp/log #… exec > $LOG 2>&1 我的目标是写任何标准输出和标准错误,但在同一时间标准输出(在控制台上)$ LOG。 可能吗?

Debian挤压 – 无法升级bash

我试图升级bash,所以它不是脆弱的。 我尝试了Debian的Sources List Generator。 但是libtinfo5阻止我升级bash。 我找不到libtinfo5旧版本(由于源代码列表问题),看是否可以安装它。 的sources.list deb http://deb.debian.org/debian/ stable main contrib non-free deb http://deb.debian.org/debian/ stable-updates main contrib non-free deb http://deb.debian.org/debian-security stable/updates main root@server:~# apt-get install –only-upgrade bash Reading package lists… Done Building dependency tree Reading state information… Done The following packages were automatically installed and are no longer required: libdpkg-perl bzip2 libmpfr4 fakeroot libalgorithm-merge-perl […]

统计sendmail排队的邮件数量最有效的方法是什么?

sendmail 8.14.4 我想设置监视来跟踪我的sendmail服务器上有多less个排队的消息。 根据一个有点相关的Linux问题,我明白,在一个目录中计算原始文件的最有效的方法是\ls -afq | wc -l \ls -afq | wc -l但是我想要返回一些消息的东西。 由于sendmail将排队的消息分成两部分(df和qf文件),这可能会引起误解。

adquery命令返回空结果,但稍后它会给出预期的结果。 不寻常的行为

我们有一个拥有数百台服务器的服务器基础架构。 所有这些服务器都是通过密钥服务器访问的。 我们集中pipe理authentication。 所以我尝试的是我在密钥服务器中使用这个bash命令来列出组中的所有用户: adquery group GROUP_NAME -a 我在下面的python脚本中使用了这个结果来读取输出并将其input到名为users的variables中: users = os.popen("adquery group GROUP_NAME -a").read() 我遇到的问题是,当脚本运行两三次,它工作正常,突然间命令提供了一个空的输出。 当我尝试在Linux提示符下运行相同的命令时,它仍然失败。 但过了一段时间。 当我试图运行它的时候再次运行。 现在我甚至没有得到这种情况的模式。 但是,当发生这种情况时,任何有权访问该服务器的人都无法获得结果。 注 – 更新 。 还有一件事要补充。 当我尝试查询其他东西,如adquery user USERNAME -a 他们仍然工作。 它给出的输出没有问题。 但我之前提到的命令仍然失败,没有错误没有输出。 有人可以解释为什么会发生这种情况吗?

Linux:在串行控制台终止后注销用户

我通过串行控制台连接到Linux(在这里,我用Ubuntu 1604)。 现在,串行控制台closures(终止),但是,当我再次连接到串行端口时,我看到所有的会话都留在那里。 如何configurationLinux来检测我的串行控制台是否终止并自动注销我? 我期望监视串行端口的应用程序应该发送SIGHUP到bash或其他人并杀死/停止所有进程并closures我的会话。 谢谢!

SSH和redirect

考虑下面的命令: ssh aristotle sudo /bin/sh < test.sh 我希望redirect应用到/bin/sh但它被sudo使用。 任何想法如何实现我想要的?

在另一项服务启动后执行服务

我已经安装了MySQL NDB集群。 它需要大约2-3分钟才能在集群节点之间同步数据库。 一旦同步完成,我可以启动另一个名为heartbeat的应用程序。 因此,在我的shell脚本中,我想一直检查ndbd服务的可用性。 一旦这个服务可用,我需要在五分钟内启动心跳应用程序。 你能帮我写剧本吗?

预期脚本不会在远程服务器上打印(cat)文件

我有一个期望的脚本,检查远程服务器上是否存在文件,然后尝试打印(使用猫),如果它 期望脚本由于某种原因而忽略这些命令。 send "if {[file exists "./abc.test"]} {cat ./abc.txt\r}"

以硬编码密码的身份运行bash脚本

很可能这已经在其他线程中得到了回答,但我找不到确切的解决scheme。 我需要通过一个PHP脚本(bash)改变系统时间来调用一个bash脚本。 我需要以root用户身份运行该bash脚本,而不更改apache权限,即php脚本由用户“nobody”调用,php脚本以root身份运行脚本(sudoing可以,因为我在ubuntu上)。 因为这将从浏览器调用,我需要摆脱密码提示

符号链接到根目录中的文件夹

我已经在虚拟主机中创build了一个ftp帐户,并添加了一个符号链接到位于根目录的文件夹,例如 [root@server myvhost]# pwd /home/myvhost [root@server myvhost]# ll ….. lrwxrwxrwx 1 myvhost myvhost 16 Oct 27 15:03 myfolder -> /root/myfolder/ ….. / root / myfolder /内部的所有文件都包含在本机中,但是在尝试将file upload到此文件夹时遇到问题。 这是根本不可能的,因为权限或我缺less的东西。 提前致谢