Articles of linux

Will Ansible会阻止在shell脚本中执行'rm -rf /'

这是基于这个骗局问题 。 所描述的问题是有一个bash脚本包含的东西的影响: rm -rf {pattern1}/{pattern2} …如果两个模式都包含一个或多个空元素,则将扩展到rm -rf /至less一个实例,假定原始命令正确转录,并且OP正在进行扩展而不是参数扩展 。 他在OP 对这个恶作剧的解释中说: 这个命令是无害的,但似乎几乎没有人注意到。 Ansible工具防止这些错误,但似乎没有人知道,否则他们会知道我所描述的事情是不可能发生的。 所以假设你有一个通过扩展或参数扩展发出rm -rf /命令的shell脚本,使用Ansible将阻止这个命令被执行是真的,如果是的话,它是如何做的? 只要你使用Ansible来执行rm -rf / root权限真的是“无害”的呢?

远程Linux服务器之间的大文件树的双向实时同步

大文件树的意思是大约20万个文件,并且一直在增长。 但是,在任何给定的小时内,相对较less数量的文件正在被更改。 通过双向我的意思是可能会发生任何服务器上的变化,需要推到另一个,所以rsync似乎不合适。 远处我的意思是服务器都在数据中心,但在地理上彼此远离。 目前只有2台服务器,但随着时间的推移可能会扩大。 通过实时,可以在同步之间有一点延迟,但是每1-2分钟运行一次cron似乎并不正确,因为在任何给定的小时内文件的一小部分可能会改变,更不用说分钟了。 编辑 :这是在VPS上运行,所以我可能会限制在我可以做的内核级别的东西。 另外,VPS不是资源丰富的,所以我会回避那些需要大量ram的解决scheme(比如Gluster?)。 什么是最好的/最“接受”的方法来完成这个工作? 这似乎是一个普遍的需要,但我还没有能够find一个普遍接受的方法,这是令人惊讶的。 (我正在寻求群众的安全:) 我遇到了lsyncd在文件系统更改级别触发同步。 这似乎很聪明,虽然不是很常见,而且我对各种lsyncd方法有些困惑。 只是使用rsync与rsync,但似乎这可能是脆弱的双向性,因为rsync没有内存的概念(例如 – 知道A上删除的文件是否应删除B或是否是一个新的文件B应该被复制到A)。 lipsync看起来只是一个lsyncd + rsync的实现,对吧? 然后,使用与CSync2的lsyncd ,像这样: http : //www.axivo.com/community/threads/lightning-fast-synchronization-with-csync2-and-lsyncd.121/ …我倾向于这种方法,但csync2有点古怪,虽然我做了一个成功的testing。 我最担心的是,我没有find很多社区确认这种方法。 这里的人们似乎很喜欢Unison,但似乎已经不再处于积极的发展之中 ,并不清楚它是否具有像lsyncd这样的自动触发器。 我已经看到Gluster提到,但可能矫枉过正我需要什么? 更新: fyi-我结束了我提到的原始解决scheme:lsyncd + csync2。 它似乎工作得很好,我喜欢让服务器非常松散地连接的架构方法,以便每个服务器可以无限地自行运行,而不pipe它们之间的链路质量如何。

命令行程序来testingDHCP服务

是否有一个简单的类似ping命令来testingDHCP服务是否在networking上运行? 在Linux上

我应该将Rails应用程序部署到什么目录?

什么是在Linux系统上部署我的生产Rails应用程序的合理和合理的目录? 一些候选人… /var/rails <= There's a /var/www so this would be consistent with that pattern. But IT guys have complained about stuff in /var before. /home/my_home_dir/rails <= OK, not /var, but I'm not the only developer. Seems like it really ought to be a systemwide location. /home/rails <= I don't know. That just seems weird. […]

限制linux后台刷新(脏页)

如果写入的数据过多(通过/ proc / sys / vm / dirty_background_ratio进行调整)或挂起写入超时(/ proc / sys / vm / dirty_expire_centisecs),则会在linux中进行背景刷新。 除非有另一个限制(/ proc / sys / vm / dirty_ratio),否则可能会caching更多的写入数据。 进一步的写入会阻止。 理论上讲,这应该创build一个后台进程,写出脏页面而不会干扰其他进程。 在实践中,它会干扰任何进行非caching读取或同步写入的进程。 厉害。 这是因为后台刷新实际上是以100%的设备速度写入的,并且此时的任何其他设备请求将被延迟(因为路上的所有队列和写入caching都已被填充)。 有没有办法限制冲洗过程执行的每秒请求数量,否则有效地优先处理其他设备I / O?

我的DNS服务器推送20mbps,为什么?

我在EC2上运行一个DNS服务器,昨天当我查看了我的计费仪表板,并且在本月发现了1.86 TB的使用数据时,它正在运行一个20Mbps的服务器。 这对我的小型项目实验室来说是一个很大的开支。 我从来没有注意到性能下降,也没有打扰之前build立交通门槛,但现在我已经花了我$ 200 +带宽收费。 似乎有人使用我的DNS服务器作为放大攻击的一部分,但是我对此感到茫然。 configuration如下。 // BBB.BBB.BBB.BBB = ns2.mydomain.com ip address options { listen-on port 53 { any; }; // listen-on-v6 port 53 { ::1; }; directory "/var/named"; dump-file "/var/named/data/cache_dump.db"; statistics-file "/var/named/data/named_stats.txt"; memstatistics-file "/var/named/data/named_mem_stats.txt"; allow-transfer { BBB.BBB.BBB.BBB; }; allow-query-cache { BBB.BBB.BBB.BBB; }; allow-query { any; }; allow-recursion { none; }; empty-zones-enable no; […]

什么是gssapi与麦克风?

在ssh上debuggingNagios警告,我发现gssapi-with-mic在authentication上造成了很长的滞后。 我已经把它关掉了,但是我到底错过了什么? 我认为GSSAPI是一种authentication工具,但是-with-mic部分呢?

SSH连接错误:ssh_exchange_identification:读取:由对等方重置连接

当我尝试通过SSH连接到服务器时,出现以下错误, [root@oneeighty ~]# ssh -vvv -p 443 [email protected] OpenSSH_4.3p2, OpenSSL 0.9.8e-fips-rhel5 01 Jul 2008 debug1: Reading configuration data /etc/ssh/ssh_config debug1: Applying options for * debug2: ssh_connect: needpriv 0 debug1: Connecting to xxx.xxx.xxx [IP] port 443. debug1: Connection established. debug1: permanently_set_uid: 0/0 debug1: identity file /root/.ssh/identity type -1 debug1: identity file /root/.ssh/id_rsa type -1 debug1: identity […]

通过NFSv4挂载的文件由4294967294所有,UID和GID匹配

我有两个相同的Linux机器(在亚马逊EC2中启动相同的图像),我试图通过NFSv4挂载一个导出的目录。 以下是在客户机上安装的目录: root@server:~# ls -l /websites/ drwxr-xr-x 6 4294967294 4294967294 92 2010-01-01 20:21 logs drwxr-xr-x 2 4294967294 4294967294 20 2009-12-23 01:14 monit.d … 我再次检查,以确保UID匹配 这里是我从客户端运行的mount命令 /sbin/mount.nfs4 $MASTER_DN:/ /websites -o rw,_netdev,async 这里是服务器机器上的/etc/exports条目: /websites 10.0.0.0/8(fsid=0,no_subtree_check,rw,no_root_squash)

MySQL可以有效地利用64 GB RAM吗?

我们遇到了一个问题,在这个查询大约有5000万行,索引大小为4 GB(表大小大约为6 GB)的表中,导致数据库服务器交换内存并显着减速。 我很确定这是与临时表大小超过,并交换到磁盘。 如果我从32 GB的RAM升级我的数据库服务器到64 GB的RAM,我想知道如果MySQL数据库将能够充分利用这个额外的内存,而不是交换。 我已经经历了一些variables(例如KEY_BUFFER_SIZE等),他们似乎支持超过64 GB的设置值。 但是,MySQL文档说tmp_table_size最大为4 GB。 那么内存升级是值得的吗? “查询大桌面”问题是否会从中受益,还是因为4 GB的限制而没有帮助? 我知道还有其他解决scheme,比如重组表格,以不同的方式进行分区,等等,但是不改变表格的任何内容,会有额外的内存帮助吗? 另外,一般来说,还有其他与内存相关的variables,当从32位移动到64位内存时,MySQL将无法使用这些variables。 我们使用64位Linux(Ubuntu)作为我们的数据库服务器。 谢谢,盖伦