Articles of linux

我如何移动/ var / log目录

在我们的生产服务器上有一个小的驱动器用于安装根目录/ , /var/log占用的空间太多,我不得不手动删除一些文件。 我如何移动/var/log/让我们说/home/log没有重新启动? 这是我想到的事情: $ mkdir /home/log $ rsync -a /var/log /home/log $ mount –bind /home/log /var/log $ /etc/init.d/rsyslof restart 但是我知道有些服务使用文件描述符,所以他们会继续使用/var/log或者inode。

手动编辑cron文件不好吗?

通常要求通过命令行来引入新的cron作业; 但我发现它更容易(通过更好地控制当前cron任务)手动编辑(在文本编辑器中)像/var/spool/cron/crontabs/root这样的用户cron文件。 在文本编辑器中编辑文件危险吗? 默认文件中的注释很混乱。 第一行说 # DO NOT EDIT THIS FILE – edit the master and reinstall. 但是第四行说 # Edit this file to introduce tasks to be run by cron.

MegaCli:获取逻辑驱动器的/ dev / sd *设备名称

比方说,我知道我想要的驱动器是在适配器8,虚拟驱动器0,有没有办法获得Linux设备名称(例如/dev/sdt )? 我在RHEL 6.2上。 -pdlist显示每个物理驱动器的WWN值,但这没有多大帮助。 -ldinfo不打印WWN或任何其他识别值。 # ./MegaCli64 -pdlist -a8 | grep WWN WWN: 500051610003776C WWN: 5000516100037BFC WWN: 5000516100038090 WWN: 50005161000284F4 WWN: 5000516100037C0C WWN: 5000516100037C5C WWN: 50005161000310C8 WWN: 5000516100037F4C # ls -1dt /dev/disk/by-id/wwn* /dev/disk/by-id/wwn-0x600605b0043e52d01721fd142c12c84d /dev/disk/by-id/wwn-0x600605b0043e52d01721fd142c0973e6 /dev/disk/by-id/wwn-0x600605b0043e52d01721fd132c002573 /dev/disk/by-id/wwn-0x600605b0043e52d01721fd122bf6e2f6 /dev/disk/by-id/wwn-0x600605b0043e52d01721fd122beda52a /dev/disk/by-id/wwn-0x600605b0043e52d01721fd112be46f10 /dev/disk/by-id/wwn-0x600605b0043e52d01721fd112bdb3ffb /dev/disk/by-id/wwn-0x600605b0043e52d01721fd102bd20f14 # ./MegaCli64 -v MegaCLI SAS RAID Management Tool Ver 8.03.08 Mar 15, 2012

杀死一个进程,并强制它在Linux中返回0?

在Linux环境中,我怎样才能发送kill信号给进程,同时确保从进程返回的退出代码是0? 我需要为此做一些奇特的GDB魔术,还是有一个我不知道的奇特的杀手信号? testing用例: cat; echo $? killall cat 尝试各种kill信号只会提供不同的返回信号,如129,137和143,我的目标是杀死一个脚本运行的进程,但让脚本认为它是成功的。

networking端口打开,但没有附加进程?

我有一个开放的networking端口进行奇怪的情况。 我的主要问题是,为什么没有一个程序与一个开放的TCP端口相关联: netstat -ln –program Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:5666 0.0.0.0:* LISTEN – 对于我的具体情况,应该有一个监听端口5666的nrpe守护进程(opsview install),但是没有运行nrpe守护进程。 如果我尝试启动它,它会立即退出。 lsof -i :5666也不显示任何输出。 没有(x)inetd在我的系统上运行。 UPDATE 是的,我以root身份运行这些命令。 Telnet可以,但从来没有任何回应。 经过进一步的调查,我在dmesg发现了一个内核错误:这是一个EC2实例(实际上有几个)运行一个较旧的内核(2.6.16显然是不稳定的)。 停止崩溃的修复是升级内核 。 看起来内核崩溃的方式导致进程消失,并将端口打开。

如何判断一个公共的SSH密钥是否有密码

这可能是一个noob问题,但我如何确定某人给我的公共SSH密钥是否有密码? 我们有一种情况,我没有为用户生成SSH密钥,但是我想要确保我放在服务器上的每个SSH密钥都有一个密码,但是我感觉密码只是私钥的一部分。 谢谢!

多less个用户帐户可以有一个类似Unix的OS主机?

比方说,我想有一个尽可能多的用户帐户的服务器。 最多几个? 我想要数百万用户帐户。 那是疯了吗? 我会主持几十个盒子的负载平衡镜像,用户数据将被存储在一个高度可用的存储共享,而所有其他数据被认为是不稳定的。

在基于Linux的数据中心中检测时间漂移的策略是什么?

在所有基于Linux的数据中心中检测时间漂移的策略是什么? 这是一个比起初看起来更难的问题。 时间漂移可能会对某些应用程序造成严重的问题,而且即使安装了NTP,也可能出现以下(以及更多)原因: NTP未正确设置为在重新启动时自动重新启动。 服务器上的设置不正确,因此指向的时间服务器无法访问或不准确。 主时间服务器无法访问,所有服务器正与它同步,现在正在同步到一个不可靠的来源。 我想要一个方法来检测是否所有的个人服务器是正确的。 请记住,testing脚本/应用程序的服务器可能不正确。

Postgres错误消息:致命:身份validation用户失败“…”

假设你看到这个消息: FATAL: Ident authentication failed for user "…" 这个错误信息的原因是什么?

通过bash脚本编辑文件

我是bash脚本的初学者。我想创build一个bash脚本来自动安装我的linux系统上的安装和configuration文件。 假设我想编辑 /etc/yum.repos.d/epel.repo 由bash脚本 我想要做的是如下 打开文件/etc/yum.repos.d/epel.repo find[epel]部分 在epel部分中,在行enabled = 1之后添加一行priority = 10 对于我添加的第一部分 yum install nano nano /etc/yum.repos.d/epel.repo 我的问题是如何使用nano做bash脚本的第二和第三部分(如果可能的话,如果不可能,然后用sed显示我) 还有一些地方,我将不得不修改文件中的variables例如 启用= 0启用= 1 testing=“1”到testing=“0” 在一行中添加文本。 functions = to function =“text1”,“text2” 添加一些文本到一个文件并保存(与纳米) 我知道它的要求很高,但是我需要为服务器pipe理的小老头们创build这个。不幸的是,我没有时间从开始时就开始学习bash脚本,因为我的考试近了。我会用你的例子来写脚本。 伙计们感谢所有答复,我已经成功完成了大部分的bash脚本 但是我有另一个问题让我们假设我想修改nginx.conf使用sed我们将处理worker_processes 现在我想使用sed来完成以下工作1. worker_processes conf中worker_processes的第一次出现 ,并用worker_processes 4;replace文本worker_processes 4; 特别提示:这只是一个例子。 可能会发生conf包含worker_processes 1; 。 这是很难的部分。 我想要一个sed命令,它查找单词worker_processes的第一个wHOLE匹配大小写 ,删除find该单词的文本行,并粘贴worker_processes 4; 然后保存文件。 这是我编辑文件时最可靠的方法(没有任何破坏任何conf的风险 最后一个build议我使用sed -i's / enabled = […]