小编Ama*_*rus的帖子

Linux - 找出进程的当前工作目录?

如果我有一个进程 PID X,我怎样才能找出它在哪个目录中运行?我可以看到ps aux | grep X调用它的完整命令行。但是,在这种情况下,它是./script.sh,我想看看script.sh它正在运行哪个。

bash process

11
推荐指数
2
解决办法
6855
查看次数

在 ~/.ssh/config 中动态生成 SSH 主机条目

我必须通过 ssh 管理一大堆主机。但是我只能通过某个网关 ssh 服务器访问它们。

我有以下内容~/.ssh/config

Host mygateway-www
Hostname www
IdentityFile ~/.ssh/id_rsa
ProxyCommand ssh mygateway nc %h 22
Run Code Online (Sandbox Code Playgroud)

但是我必须连接到很多这些机器。不是在 my 中放入数十个条目~/.ssh/config,而是无论如何我可以拥有这样的东西:

Host mygateway-*
Hostname ???WHAT GOES HERE????
IdentityFile ~/.ssh/id_rsa
ProxyCommand ssh mygateway nc %h 22
Run Code Online (Sandbox Code Playgroud)

我知道您可以%hHostname参数中使用,但这将是主机名。我真正需要的是某种字符串替换,比如 bash 的${VAR%thingie}. 这可能吗?

ssh

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

在 mysql 命令行程序中修复 Control-C?

mysql命令行中,按Control-C将取消程序,并使您返回到 bash。在psql, postgres 中,它将终止当前查询并且不会停止 psql 程序。有没有办法Control-C在 mysql 程序中获得 psql 风格的行为?我一直发现自己Control-C被习惯逼迫,不得不重新登录 mysql。

Control C不会杀死 bash,并在您按下它时将您注销。我认为这是一件好事。Control-C意思是“停止你正在做的事情”。

mysql postgresql keyboard keyboard-shortcuts

10
推荐指数
3
解决办法
3676
查看次数

“没有可用的锁”是什么意思?

我正在尝试提交到 SVN 服务器。在服务器上,subversion 存储库是 NFS 挂载的。进行提交时,我收到此错误消息:

svn: Can't get exclusive lock on file '/svn/repo/db/transactions/7802-2.txn/rev-lock': No locks available
Run Code Online (Sandbox Code Playgroud)

这曾经有效,并且没有任何软件升级/更改。然而 NFS 服务器确实更早崩溃了,所以它可能是“损坏的”(如果这甚至适用于这里)

linux files nfs

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

用于杀死进程直到它死亡的 Bash 片段?

我正在尝试编写一个强大的 bash 脚本,并在其中创建一个后台进程。在脚本的最后,我想杀死它。我有它的PID。

我在想这样的事情

while [[ ps ef $PID ]] ; do
  kill $PID
  sleep 0.5
done
Run Code Online (Sandbox Code Playgroud)

有什么更好的建议吗?这种方法有什么可能的问题吗?

scripting bash kill process snippet

9
推荐指数
2
解决办法
8308
查看次数

聪明的nagios警报方法

我们使用 Nagios,当有事情发生时我会收到短信。许多其他系统管理员也会收到短信。但是,人们是否有其他聪明/酷炫的方式收到 nagios 警报?

monitoring nagios alerts

9
推荐指数
2
解决办法
2930
查看次数

为什么 anacron 不会运行?

我有一个安装了 anacron 的 Ubuntu 系统。但是我很确定它没有运行。它没有运行 /etc/cron.daily 中的命令来轮换 syslog 文件(我使用的是 sysklog,它有自己的轮换日志方法,而不是使用 logrotate)。上次轮换日志是在 2009 年 10 月。/var/spool/anacron/cron.daily存在且内容为20091015. AFAIR 我们当时停电了,一切都重新启动了。

我该如何调试 anacron?我怎么知道它为什么没有运行?我的第一直觉是寻找/var/log/anacron,但那并不存在。我该如何修复它以使其再次运行?

ubuntu debian log-files cron

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

如何在 apache 中为文件发送 Content-Disposition 标头?

我有一个使用 apache 2 提供的文本文件目录。通常,当我(或任何用户)访问文件时,他们会在浏览器中看到它们。我想“强制”* Web 浏览器弹出“另存为”对话框。我知道这可能与Content-Disposition标题有关(更多信息)。

有没有办法为每个文件打开它?

理想情况下,我想要这样的东西:

<Directory textfiles>
   AutoAddContentDispositionHeaders On
</Directory>
Run Code Online (Sandbox Code Playgroud)

然后 apache 将设置正确的内容处置标头,包括使用相同的文件名。

使用 apacheHeader指令可能会发生这样的事情。

如果通过在 debian 中站在 apache 中包含它,则奖励积分。

我可以做一个简单的 PHP 包装器脚本,它接受一个filename参数,调用header(...)然后打印文件,但是我必须验证输入等。这是我试图避免的工作。


* 我知道当涉及到网络时,您实际上不能强迫事物

http http-headers apache-2.2

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

厨师客户端不从服务器更新食谱

我有一本厨师食谱(适用于 apache2)。它无法在一个节点上工作。所以我试图调整它并更新它,但节点似乎没有下载新版本。我已经能够将所有内容从我的本地机器上传到厨师服务器knife upload .,成功,并打印出它上传了我更改的 apache2 食谱位。

当我chef-client在节点上手动运行(以 root 身份)时,我可以看到它与服务器联系,获取运行列表等。但是,其中的配方文件/var/cache/chef/cookbooks/apache2是旧文件。配方失败了(因为它没有我所做的更改)。

如何让节点上的 Chef 客户端使用 apache2 食谱的新更新版本?我需要在食谱中修改版本号吗(我没有这样做过)?

chef-client -l debug 输出:

[2015-01-30T10:51:31+01:00] DEBUG: Synchronizing cookbook apache2
[2015-01-30T10:51:31+01:00] DEBUG: Not storing cookbooks/apache2/recipes/mod_ldap.rb, as the cache is up to date.
[2015-01-30T10:51:31+01:00] DEBUG: Not storing cookbooks/apache2/recipes/mod_xsendfile.rb, as the cache is up to date.
[2015-01-30T10:51:31+01:00] DEBUG: Not storing cookbooks/apache2/recipes/mod_auth_openid.rb, as the cache is up to date.
[2015-01-30T10:51:31+01:00] DEBUG: Not storing cookbooks/apache2/recipes/mod_setenvif.rb, as the cache is up to date.
[2015-01-30T10:51:31+01:00] DEBUG: Not …
Run Code Online (Sandbox Code Playgroud)

chef

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

确保 MySQL 数据库完全采用 UTF8 的最佳方法

在 UTF8 和非 UTF8 字符串出现一些问题后,我们正在对 UTF8 进行标准化。我需要做的一件事是检查 MySQL 数据库中的所有内容是否都在 UTF8 中?我需要检查什么?

  • 服务器默认字符集
  • 每个数据库的默认字符集
  • 每个文本列都有字符集吗?我该如何检查?

我正在考虑将所有这些放在 nagios 插件中以检查所有内容是否都在 UTF8 中。建议?

mysql database charset utf-8 unicode

8
推荐指数
1
解决办法
4982
查看次数