标签: bash

如何从特定用户/电子邮件的exim邮件队列中删除所有消息

在队列充满垃圾邮件之后,我花了最后一个小时试图弄清楚如何从 exim 邮件队列中删除来自某个邮件地址的所有邮件。

bash spam exim

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

php-cli 应用程序中的 CentOS 颜色

我正在管理一台安装了 CentOS 6.5 x64 的服务器。

在我的 Ubuntu 服务器中,当我运行composerLaravelartisanphp cli 命令时,参数是彩色的。

ubuntu 终端作曲家

但是当我通过 SSH 连接到 CentOS 服务器并composer再次运行时,这不会发生。

centos终端ssh作曲家

如您所见,目录php-cli按其应有的颜色着色,但应用程序没有(Laravel 的 artisan 命令也有同样的问题)。

nano如果这有帮助,编辑器也会出现此问题。)

有没有办法在 CentOS 中“着色”这些命令?

提前致谢,

bash terminal centos bashrc color

6
推荐指数
0
解决办法
1501
查看次数

tcpdump 返回数据包前延迟一秒

使用 Ubuntu,我试图将 tcpdump 嗅探与来自客户端设备的自我识别“ping”同步。问题是由于 tcpdump 中的内置延迟,很难获得精确的启动和停止。这是我的脚本中的关键行:

sudo timeout .5s tcpdump -i wlan0 -e
Run Code Online (Sandbox Code Playgroud)

当我设置超时以在半秒后停止 tcpdump 时(如我的示例),没有数据包返回。事实上,任何低于 1.1s 的值都无法返回数据包(而 1.1 和更长的时间效果很好)。

我尝试添加 -n 参数来抑制 DNS,但这没有任何区别。我还用两个完全不同的 wifi 卡(英特尔迅驰和 TP-Link N900)尝试了这个,以确保它不仅仅是一个硬件“功能”。

我不是开发人员,但我对“延迟”、“延迟”和“超时”的 tcpdump 源代码进行了 grep 搜索,但没有出现任何似乎是负责任的。

有任何想法吗?

bash wifi tcpdump linux-networking

6
推荐指数
1
解决办法
3888
查看次数

了解不同的目录大小

比较时

root@debian:~# du -s /backup/test1/
5605364 /backup/test1/
Run Code Online (Sandbox Code Playgroud)

两个目录du

root@debian:/etc/init.d# du -s /data/test1/
5605360 /data/test1/
Run Code Online (Sandbox Code Playgroud)

du 告诉我每个目录的总大小略有不同。

另一方面,Diff 告诉我两个目录是相同的:

root@debian:/etc/init.d# diff -r /data/test1/ /backup/test1/
Run Code Online (Sandbox Code Playgroud)

是什么原因?

linux bash du

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

如何删除某个端口的所有 ufw 规则?

我正在使用 ansible 在我的数据库服务器上配置 ufw 以只接受从某些服务器连接到特定端口的连接(可以说1234)。

当曾经有访问权限的服务器从池中取出时,可能会忘记删除该服务器的访问规则。

我的解决方案:设置规则时,我想删除 port 的所有规则1234,然后使用当前池中的服务器重新创建它们。

不幸的是,ufw delete需要精确指定要删除的规则(端口、协议、scr IP,...)。

我尝试了类似 的解决方案ufw delete $(ufw status numbered | grep 1234 | <get all the numbers of the rules> ),但它变得非常丑陋,速度非常快。

有没有更好的方法来删除某个端口的所有规则?

bash iptables ufw

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

在不受支持的 Ubuntu 服务器上修补 Shellshock Bash 错误的推荐方法是什么?

我维护着一个不受支持的 Ubuntu 12.10 (Quantal Quetzal) 服务器(请不要问我为什么),我们需要修补Shellshock Bash 安全漏洞。由于升级不再可用,推荐的修补 Bash 的方法是什么?

我找到了这个答案(它建议从 Debian 检索包,而不是安装二进制包,而是从源安装包)。这对我来说似乎没问题,但还有什么其他建议?

ubuntu debian bash upgrade

6
推荐指数
3
解决办法
1万
查看次数

疯狂循环中的 yum-complete-transaction

我试图更新我拥有的服务器yum update,但由于服务器内存不足而中止。我杀死了一些不需要的进程并运行yum-complete-transaction,但似乎陷入了疯狂的循环。

[root@syd-01 ~]# uname -a
Linux syd-01.*******.net 2.6.32-358.23.2.el6.x86_64 #1 SMP Wed Oct 16 18:37:12 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
Run Code Online (Sandbox Code Playgroud)

如果有任何有关如何解决此问题的建议,我将不胜感激。下面是循环的摘录(实际上要长得多):

--> Processing Dependency: libtinfo.so.5()(64bit) for package: util-linux-ng-2.17.2-12.14.el6_5.x86_64
---> Package net-tools.x86_64 0:1.60-110.el6_2 will be erased
--> Processing Dependency: net-tools for package: initscripts-9.03.40-2.el6.centos.4.x86_64
---> Package nss-softokn-freebl.x86_64 0:3.14.3-3.el6_4 will be erased
--> Processing Dependency: libfreebl3.so()(64bit) for package: glibc-2.12-1.132.el6_5.4.x86_64
--> Processing Dependency: libfreebl3.so()(64bit) for package: p11-kit-trust-0.18.5-2.el6_5.2.x86_64
--> Processing Dependency: libfreebl3.so()(64bit) for package: p11-kit-0.18.5-2.el6_5.2.x86_64
--> Processing Dependency: libfreebl3.so(NSSRAWHASH_3.12.3)(64bit) for …
Run Code Online (Sandbox Code Playgroud)

linux bash centos yum update

6
推荐指数
1
解决办法
1784
查看次数

如何在重启后立即在 bash 中启动 tmux

我创建了一个在 Ubuntu 实例重新启动时运行的脚本。

crontab -e
Run Code Online (Sandbox Code Playgroud)

然后将其添加到脚本中:

@reboot /home/ubuntu/startup.sh
Run Code Online (Sandbox Code Playgroud)

脚本如下所示:

#!/bin/bash
tmux new-session -d -s my_server
tmux send-keys -t my_server:0 ". /home/ubuntu/venv/bin/activate" C-m
tmux send-keys -t my_server:0 "cd ~/canonicaliser_api" C-m
tmux send-keys -t my_server:0 "git checkout new-schema" C-m
tmux send-keys -t my_server:0 "git pull" C-m
tmux send-keys -t my_server:0 "cd ~/canonicaliser_api/canonicaliser/workers" C-m
tmux send-keys -t my_server:0 "python person_worker.py" C-m
Run Code Online (Sandbox Code Playgroud)

重新启动后,我执行 atmux attach以查看结果。

$ . /home/ubuntu/venv/bin/activate
cd ~/canonicaliser_api
(venv)$ (venv)$ git checkout new-schema
git pull
cd ~/canonicaliser_api/canonicaliser/workers
python person_worker.py
Already …
Run Code Online (Sandbox Code Playgroud)

ubuntu bash virtualenv tmux

6
推荐指数
1
解决办法
3351
查看次数

如何通过 aws cli 检查是否存在特定的 rds 实例?

我希望我的 bash 脚本能够检测是否已经存在具有特定名称的 AWS RDS 实例。

这是我尝试过的:

#!/usr/bin/env bash

DBINSTANCEIDENTIFIER=greatdb

EXISTINGINSTANCE=$(aws rds describe-db-instances \
    --db-instance-identifier="$DBINSTANCEIDENTIFIER" \
    --输出文本\
    )

我希望得到一个空列表,或者结果为零 - 但我收到一条错误消息:

调用 DescribeDBInstances 操作时发生错误 (DBInstanceNotFound):未找到 DBInstance greatdb。

有谁知道如何在没有错误消息的情况下正确找出实例是否存在?

bash amazon-rds aws-cli

6
推荐指数
1
解决办法
9149
查看次数

在脚本中解析 DNS 地址的可靠方法(IPv4 (A) 和 IPv6 (AAAA))?

我在 bash 变量 ( ) 中有一个域名$TARGET,并且我想以可靠的A方式在 bash 脚本中获取它的 IPv4(记录)地址(我还想获取 IPv6AAAA记录(如果存在))。

即 bash/unix 命令将: (i) 打印 DNS 解析的 IP 地址(并​​且是 IP 地址) (ii) 如果没有找到该域的 DNS 记录,则不向 stdout 打印任何内容(或非零退出) (iii) 让我选择索取AAAAA记录。

host "$TARGET"打印出很多人类可读的内容,但我不愿意解析它们。

dig +short看起来很有希望,但在某些情况下,它还会打印我不理解或不关心的其他警告消息。

$ dig +short -t A "$TARGET"
;; Warning: Client COOKIE mismatch
1.2.3.4
Run Code Online (Sandbox Code Playgroud)

Debian 测试/书呆子。Bash v5.2(通过 apt 安装)

domain-name-system bash shell-scripting

6
推荐指数
3
解决办法
2591
查看次数