Articles of linux

Postfix SMTP中继服务器

我使用Gmail从我的Gmail地址和我自己的域名接收电子邮件,但是Gmail不再允许您从自己的域名发送电子邮件,除非您提供自己的SMTP服务器通过发送。 因此,我正在尝试在Ubuntu服务器上configurationPostfix,以将来自任何远程设备的电子邮件转发到电子邮件上的目标电子邮件地址。 我只希望服务器从mydomain中继电子邮件(只有在经过身份validation的情况下),并且不要在用户邮箱中保留服务器上的任何电子邮件。 目前,我已经能够从一个特定的源地址转发电子邮件,但是发送到Gmail地址的电子邮件在中继时被反弹。 如果我从服务器本身使用sendmail,gmail不会反弹,certificategmail很乐意从我的服务器收到电子邮件。 但是当电子邮件被中继时,我从gmail收到以下消息: status=bounced (host gmail-smtp-in.l.google.com[2a00:1450:400c:c00::1a] said: 550-5.7.1 [2001:41d0:a:f9a0::1 12] Our system has detected that this 550-5.7.1 message is likely unsolicited mail. To reduce the amount of spam sent 550-5.7.1 to Gmail, this message has been blocked. Please visit 550-5.7.1 http://support.google.com/mail/bin/answer.py?hl=en&answer=188131 for 550 5.7.1 more information. n6si25532296wjy.39 – gsmtp (in reply to […]

木偶确保文件是目录或链接。 或者确保目录只有在缺席?

2个CentOS服务器,我想申请相同的清单。 清单在/var/username下创build一个具有自定义主目录位置的/var/username 问题是在其中一个服务器上/var/username必须是符号链接/data/username 。 所以简单的运行ensure => 'directory',会试图覆盖符号链接。 而且我不能使用ensure => 'present'因为如果它不存在的话默认会创build一个文件。 所以对于新的服务器,这个清单适用于一个空白文件将被创build时,我真的需要它是一个目录。 有没有办法ensure目录或链接? 所以,如果没有创build一个目录。 如果这是一个链接,那么就把它放在一边? 默认情况下,Puppet filetypes在ensure => 'present'时创build一个文件。 或者, if absent ensure directory else leave it alone一种方式? 怎么样的exec ,做一个简单的bash if /var/username not exist then mkdir有点事情? 讨厌,但它会工作。 理想的解决scheme可能是从一开始就避免特殊情况。 在单个清单中有多个configuration变体似乎有点错误。 所以最终我会: 规范化虚拟机(例如,可能会从符号链接切换到绑定安装) 给他们单独的清单,因为他们之间的configuration是不同的 但为了这个问题的目的,我想知道在Puppet中是否有任何选项/语法,我目前不知道。

使用nagios监控HP Smartarray(cciss)

我正在尝试使用nagios监控HP Smart Array控制器。 我在2个RAID1arrays上有4个磁盘,所以每个RAID1有2个磁盘。 我安装了nrpe-server和nrpe-plugins,我使用了全能的check_raid插件,但似乎只能看到我的第一个数组,而不是第二个数组: # /usr/lib/nagios/plugins/check_raid OK: cciss:[/dev/cciss/c0d0: (Smart Array E200i) RAID 1 Volume 0 status: OK, /dev/cciss/c0d0: (Smart Array E200i) RAID 1 Volume 1 status: OK] cciss_vol_status正确报告这两个数组: # cciss_vol_status /dev/cciss/c0d0 /dev/cciss/c0d0: (Smart Array E200i) RAID 1 Volume 0 status: OK. /dev/cciss/c0d0: (Smart Array E200i) RAID 1 Volume 1 status: OK. # cciss_vol_status /dev/cciss/c0d1 […]

cron和atd是否使用相同的用户,权限和环境来运行作业?

通过cron运行bash脚本和通过atd运行脚本有什么区别? 有什么区别吗? 发行版是否特定? 如果是这样,SLES 11呢?

如何在exim中testing非smtp ACL

Exim提供了使用exim -bh通过CLItestingACL的选项。 但是,此方法打开SMTP连接,您只能testingSMTP ACL。 我希望debugging和testingacl_not_smtp ACL – 是否有任何类似的方式做到这一点? 或者,如果有人知道为什么这不起作用在acl_not_smtp: deny message = Outgoing email is blocked for this domain. Please contact support for assistance. senders = /etc/exim_blacklist_users 这将是非常有益的。 这在acl_smtp_rcpt中有效。

由于txg_sync在Ubuntu 14.04上的ZFS 0.6.3性能下降

我在这里使用本地ZFS和“从Linux上安装的ZFS”。 安装不是问题,我正在使用两个WD 4TB红色硬盘的镜像configuration。 不幸的是我在写入磁盘arrays时遇到性能问题。 当阅读表演是确定的。 我遇到了这样的问题,即在大量写入arrays期间,复制进程每隔5秒停止大约5-10MB / s,如rsync报告的那样。 中间的速度是~75MB / s,这是其他文件系统,我期望从系统(我尝试btrfs,它得到〜85MB / s)内联。 看着iotop我发现复制txg_sync与txg_sync执行/占用I / O的过程相一致。 这个问题似乎是“突发”I / O问题,似乎是ZFS的一个常见问题(请参见此处和此处 )。 我已经应用了第一个链接的选项 options zfs zfs_prefetch_disable=1 这对性能问题有所帮助,但并没有解决这些问题。 txg_sync的5s间隔似乎是vfs.zfs.txg.timeout =“5”(例如5s),这是Linux上ZFS的默认设置。 这是正常的行为还是有其他设置我可以尝试? 如果是的话,有什么build议? 请注意,我无法在两个链接中find许多选项… 编辑2:跟进一点:我使用的系统是惠普ProLiant微服务器N36L,我升级到8GB的ECC内存。 这里给出了用于创buildZFS卷的命令。 请注意,我正在使用-o ashift=12 (在zfsonlinux FAQ中find),这应该使ZFS与高级格式化磁盘的4096Byte块配合使用。 $ zpool create -o ashift=12 -m /zpools/tank tank mirror ata-WDC_WD40EFRX-68WT0N0_WD-WCC4E0871252 ata-WDC_WD40EFRX-68WT0N0_WD-WCC4E3PKP1R0 $ zfs set relatime=on tank $ zfs set […]

tac命令在大文件上的效率如何

可以使用tac命令(反转的cat )向后读取文件,就像cat从头开始读取文件一样。 我想知道,这是多高效。 它是否必须从头开始读取整个文件,然后在内存缓冲区达到最后时才反转? 我打算把它用于一些经常被称为监视脚本,它需要检查数百兆字节大小的文件的最后n行。 不过,我不希望这样做会导致沉重的I / O负载,或者通过反复读取文件(大约每分钟一次)读取其他无用的信息来填充caching空间。 任何人都可以看到这个命令的效率吗?

将Red Hat Linux 6joinWindows Active Directory域

我正在使用红帽6(用于testing目的)和configurationsamba与活动directory.red 6已成功join我的Windows Server 2003域。 通过input命令 [root@mainserver /] # net ads join -U Administrator Enter Administrator's password using short domain name – – PDC join 'MAINSERVER' to dns domain 'pdc.local' [root@mainserver /] # 通过这个命令 wbinfo -u 我可以看到在我的Windows Server 2003中创build的所有用户。 当我input命令 [root@mainserver /] # wbinfo -a test % password Enter test's password: plaintext password authentication succeeded Enter […]

磁盘故障后无法启动到软件RAID1

今天重新启动我的数据服务器后,我无法启动,因为其中一个驱动器不再被识别,它仍然在旋转,当我连接它,并没有发出许多奇怪的噪音,除了一个非常轻微(一种静音)滴答声几秒钟。 我试图用不同的电缆甚至另一台电脑连接它,但都没有工作。 大约一年前我已经安装了这个服务器,并没有多大的关注,因为我在Linux世界里是一个新手,所有这一切都是突然的,所以我在信息上有点短暂。 无论如何,有问题的驱动器是我使用由2个2TB驱动器,sda和sdb组成的mdadm的RAID1设置的一部分,我想我可能没有在sdb上安装grub或类似的东西? 因为当我现在启动服务器时,它唯一显示的是一个闪烁的下划线。 我不确定到底是如何configuration分区,但我似乎记得我为grub,系统和数据或其他东西做了一个单独的分区。 但是我不知道如果我甚至有可能做出RAID的grub分区部分的话……我猜不是吗? 如果不是这样,那么我可能在磁盘上还缺lessgrub。 现在我最好和最安全的select是什么? 因为我真的不想丢失我的数据。 我明天会得到一个新的驱动器(相同型号),但我想我必须能够引导到系统重buildRAID。

GitLab不发送邮件

我的虚拟机上安装了Linux Ubuntu 14.04。 最近我已经使用GitLab 网站上的说明安装了GitLab 7.8.2,并且遇到了使Gitlab发送邮件的问题。 例如,当我尝试使用Web界面创build新用户时,我没有从服务器获取任何确认邮件。 我为我的环境configuration了postfix(设置“mynetworks”,“myhostname”),并成功使用sendmail将testing邮件发送到我的雅虎帐户。 我将这行添加到文件/opt/gitlab/embedded/service/gitlab-ci/config/environments/production.rb : config.action_mailer.delivery_method = :smtp config.action_mailer.smtp_settings = { address: "127.0.0.1", port: 25, enable_starttls_auto: false } 我在注册到我的GitLab实例时尾巴/var/log/mail.log ,并设法看到GitLab实际上与后缀交互,但不成功。 日志build议操作不成功,因为IP被阻塞了,但我不认为这是正确的,因为我可以使用sendmail命令发送邮件。 /var/log/mail.log: Mar 6 10:58:32 ubuntu postfix/qmgr[12506]: 5BEE724E74: from=<gitlab@ubuntu>, size=630, nrcpt=1 (queue active) Mar 6 10:59:02 ubuntu postfix/smtp[19746]: connect to example.com[93.184.216.34]:25: Connection timed out Mar 6 10:59:02 ubuntu postfix/smtp[19746]: connect […]