Articles of linux

得到雷鸟重新扫描imap文件夹

由于我有一个外部程序(imapfilter)修改我的imap文件夹,雷鸟不断追踪新消息。 消息在到达子文件夹时被移动,使得Thunderbird无法继续跟踪它们 – 因此我不知道哪些文件夹要查找新消息,新创build的文件夹(即使我在创build后订阅它们)也不会显示,直到我重新启动邮件客户端。 有什么扩展或Thunderbird设置,我可以用来触发重新扫描我的文件夹树? 请不要把时间浪费在诸如此类的build议上 重新启动Thunderbird:需要很长时间,或者 “使用Evolution(或任何其他邮件客户端)”,或者 使用内部邮件filter:他们不够复杂或 procmail / fetchmail:我正在安排一个远程的imap服务器 扩展1: 甚至可以在后台创build文件夹,而不需要Thunderbird知道它已经创build。

在Linux中删除文件

我需要find符合特定条件的所有文件并删除它们 – 这是一个片段: /var/www/somesite/releases/{many directories}/tmp/attachment_fu 我想find任何tmp/attachment_fu目录中的所有文件,并删除它们 – 问题是{many directories}扔掉了我的find技能(或者find是错误的命令 – 我也尝试locate无济于事) 。

运行时备份Xen domU机器

主机运行CentOS 5.3并使用LVM创build逻辑卷(LV),并允许对这些LV执行实时快照。 我的想法是将Xen底层域名(domU)的所有映像文件存储在单个LV中,并定期拍摄该LV的快照并将磁盘映像从快照中复制出来,以便对这些系统进行实时备份。 这是可行的吗? 有没有更好的办法? 谢谢!

如何使用Unix / Linux命令行复制这个文件?

我有这样的文件夹结构: MAT11NA_09_XX_XX_XXX MAT11NA_09_XX_XX_XXXL MAT11NA_11_XX_XX_XXX MAT11NA_11_XX_XX_XXXL MAT11NA_10_XX_XX_XXX MAT11NA_10_XX_XX_XXXL 我想从这个服务器复制到另一个文件夹MAT11NA_09_XX_XX_XXX ,但不是MAT11NA_09_XX_XX_XXX L。 当我完成这个我想复制MAT11NA_09_XX_XX_XXX L,但不是MAT11NA_09_XX_XX_XXX 。 这部分MAT11NA_09_不会改变,最后的L也不会改变。 其余的文件夹相同… 我如何在Unix / Linux命令行中执行此操作? 谢谢。

升级严重过时的Linux服务器

我有一个旧的专用服务器运行一个过时的Fedora Core版本。 由于发行年代的原因,其存储库已不再维护,服务器上的软件已经过时了,为了避免安全风险,我想把事情做好。 由于这是面向小公众的电子商务网站的唯一服务器,因此我试图尽量减less停机时间 – 如果在低访问期间,我可以容忍一两个小时的停机时间,但是我没有硬件访问机器,因此擦拭它并安装新的发行版可能会导致在非紧急支持人员处于高峰期间的停机时间延长。 我在这里select什么来更新它? 目前为止我看过的东西: 把yum指向更新的服务器就地升级发行版。 build立一个短期的VPS,并把该网站作为临时主机在主服务器closures的情况下在线,使用短TTL的DNS从一台服务器切换到另一台服务器。 第一个选项似乎是混乱的,就像是一个等待发生的失败。 我喜欢第二个选项的声音,它似乎是一个干净的方式来做到这一点,再加上这意味着我可以沟渠Fedora和CentOS。 但是,清理站点代码以使其具有便携性将是很多工作。 这个需求无论如何也将是我的长期解决scheme,但这需要时间,在此期间主服务器是脆弱的。 有什么我可以做的在短期内减轻服务器的威胁,直到我有时间安排适当的切换?

寻找小巧轻便的MTA

我正在寻找一个Linux机箱的邮件传输代理(占用处理器周期)。 这个盒子实际上是一个在Linode托pipe的VPS服务器。 我正在构build服务器以replace当前在共享托pipe帐户上交付的所有服务。 我正在运行一个基本的LAMP服务器。 我的一个Web应用程序发送电子邮件给用户,我有任何回传电子邮件到一个PHP脚本。 我正在寻找的是轻量级的东西,我可以轻松地configurationpipe道这些电子邮件到PHP脚本。 如果它也可以作为一个传出的smtp服务器,这将是伟大的。 我目前有服务器运行的Ubuntu 8.04 LTS,但我不是那么遥远,有很多select,如果有一个更好的这种情况。

有没有办法从Linux日志文件中排除特定条目?

具体来说,我试图在Ubuntu服务器(hardy LTS)下保持一个干净的cron.log。 除了预装的4或5个cron作业之外,我还添加了4个我自己的作业(使用cron.d方法)。 现在,其中一个自动安装的作业是每小时运行一次的PHP会话过期脚本。 它需要被执行,当然,但坦率地说,我不在乎什么时候执行。 它每小时运行一次,输出类似于下面的条目。 Oct 18 02:17:01 cobalt /USR/SBIN/CRON[18160]: (root) CMD ( cd / && run-parts –report /etc/cron.hourly) Oct 18 02:39:01 cobalt /USR/SBIN/CRON[18233]: (root) CMD ( [ -x /usr/lib/php5/maxlifetime ] && [ -d /var/lib/php5 ] && find /var/lib/php5/ -type f -cmin +$(/usr/lib/php5/maxlifetime) -print0 | xargs -r -0 rm) 由于这样每执行一个小时就会产生一个比较长的日志条目,所以它占了我的cron.log的90%。 如果我正在浏览日志文件,以确保我的日常备份脚本等被执行,他们会被所有这些条目吞下。 有没有办法让我排除这个过程被logging? 我意识到我可以使用grep或日志读取器程序来search,但这不是我正在寻找的东西。 我只想能够“cat […]

免费(如在啤酒中)Linux客户端的Cisco VPN等价物

我有几个客户,我连接到通过思科VPN客户端(V5,如果重要的话)在Windows上。 我正在做一些整理,并想知道是否有一种简单的方法可以从Linux桌面连接到相同的VPN端点。 这是我们的客户谁购买了思科设备,所以我不能简单地下载思科Linux客户端没有login。 如果需要,我可以请求我们的一个客户做下载,但我宁愿如果可能的话自己sorting。 在ServerFault中进行了一些挖掘之后,我发现了一些对vpnc的引用。 这是一个合适的解决scheme,还是有一些额外的箍跳过?

为什么这个mod_rewrite RewriteRule指令不能在.htaccess文件中工作?

我有一个网站,托pipe在一个Linux el cheapo托pipe服务,我正在迁移到我的Mac OS X 10.5豹服务器运行Apache 2.2.8和PHP 5.2.5瓦特/ rewrite_module启用和AllowOverride All ,但我在.htaccess文件中遇到以下问题: RewriteEngine On #RewriteRule ^view/([^/\.]+)/?$ /view.php?item=$1 [L] #RewriteRule ^order/([^/\.]+)/?$ /order.php?item=$1 [L] RewriteRule ^category/([^/\.]+)/?$ /category.php?category=$1 [L] 正如你所看到的,我已经注释到了/view/和/order/的RewriteRule指令,所以我只处理/category/ 。 当我尝试加载http://domain.tld/category/2/它运行category.php (我添加了debugging代码来确认),但$_SERVER['REQUEST_URI']通过/category/2/和$_GET['category']通过为空。 我通常罚款解决.htaccess文件和mod_rewrite指令,但这一个让我难住的原因。 更新 :我遵循乔希的build议 ,这里是什么被转储到mod_rewrite.log当我尝试访问http://domain.tld/category/2/ : 65.19.81.253 – – [22/Oct/2009:17:31:53 –0400] [domain.tld/sid#100aae0b0][rid#100b5ea98/initial] (2) init rewrite engine with requested uri /category/13 65.19.81.253 – – [22/Oct/2009:17:31:53 –0400] [domain.tld/sid#100aae0b0][rid#100b5ea98/initial] (3) […]

`输出| | gzip> $ file`不能覆盖$文件

我有一个每小时cron脚本,它需要一些输出(一个mysql转储),通过gzippipe道,并打算覆盖相同名称的文件。 当我以root身份手动运行它时,文件被覆盖。 当它由cron守护进程运行时,文件名会附加“.1”。 这一直在发生,所以过了一段时间,我有这样的文件很多: myfile.gz myfile.gz.1 myfile.gz.1.1 myfile.gz.1.1.1 myfile.gz.1.1.1.1 等等。 ps aux|grep crond显示守护进程正在以root身份运行。 我试过了: 重命名原始文件,推送输出,然后在完成时删除旧文件 在pipe道输出之前删除原始文件 但都没有按预期工作,我只是得到.1.1.1.1文件。 脚本看起来像这样(没什么特别的),位于/etc/cron.hourly的CentOS盒子里: #!/bin/bash DATE=`date +%H` DIR="/abs/path/to/dir" FILE="hourly-${DATE}.gz" OPTS="…" mysqldump $OPTS | gzip -9 > $DIR/$FILE 任何人都可以build议,为什么这个简单的操作没有按预期运行?