一、用sudo,避免使用root
如果操作的是FreeBSD服务器,建议用带sudo权限的用户操作(强烈建议不要用root),有时许多操作对于系统而言是非常危险的,尤其是rm -rf,而这个时候sudo会要求输入你具有root权限的用户密码,提醒你是否执行此危险操作;我从Linux转到FreeBSD下操作时也非常不习惯了,现在也喜欢用sudo了,建议你的Linux也可按FreeBSD操作。
二、巧用crontab
如果你的Linux机器处于IDC机房,前端没有硬件防火墙时建议开启iptables防护;但此时就有一个问题,你可能要在处于千里之外的公司调试iptables脚本,稍一出错后果就很严重。
我在配置一台服务器的iptables时,不小心设置了某一项错误参数,结果锁定了SSH会话,导致我们经理及另一技术员连不上服务器。郁闷之余,看到此法特推荐给大家,极其有用,建议大家学习参考:可以配置一计划任务crontab,每5分钟运行一次,即*/5 * * * * root /bin/sh /root/firestop.sh,firestop.sh内容为:service iptables stop;这样即使你的脚本存在错误设置(或丢失的)规则时,也不至于将你锁在计算机外而无法返回与计算机的连接,让你放心大胆的调试你的脚本。同学们可参考学习下,这毕竟是生产环境下逼出来的办法。
三、合理利用虚拟机来组构开发环境及实验环境
Linux和windows服务器环境下,我比较推荐Vmware vSphere和Vmare GSX,FreeBSD我推荐下jail。目前我将Vmware vSphpere和GSX均用于了生产环境,效果也比较稳定和安全,这里重点推荐下其特点。
最近在公司的DELL2850(开发服务器)部署成功了VMware vSphere,一直在测试其性能,目前除了它的兼容性以外(成功率10%),其它还算不错;最近一直在关注其中的新技术,在讲到HA的时候,资料要求中有几个需要注意的:
①HA是针对安装有ESX主机的硬件的,在ESX主机故障后,虚拟机在其它主机恢复时使用了VMotion技术,但VMotion则是针对虚拟机的(建议参考VMwareHA、DRS、VMotion相互关系)
②HA实现过程也就是虚拟机故障恢后在其它主机的过程中,虚拟机对外的服务会中断,但是时间相对较短罢了,这和VMotion上也有不同之处。
③所有的虚拟机硬盘文件等必须要放在共享存储上。
④需要使用到DNS或HOSTS服务,这个容易实现,以前部署lvs+heartbeat我就蛮喜欢用hosts的,推荐hosts服务。
⑤ESX主机在同一子网内,如果有多个网段,要确保ESX主机上有足够的网卡去连接。
⑥公司其它有虚拟要求的服务器,实在装不上VMware vSphere的,我安装完VMware GSX v3.2.1后作了系统相关负载测试,跟vSphere作了对比,没发现性能上有明显差异;而且前期在电信机房GSX v3.2.1用于生产环境也相当稳定。
⑦VMware vSphere至少需要二台服务器作infrastructure环境,其中一台用来作vmware VirtualCenter,毕竟vSphere的其中卖点之一就是它的高可控性。
⑧ESX Server系列对服务器的要求比较高,必须要有两个以上的网卡,其中一个作为控制用途(Control Console),就是管理员通过这个网卡使用浏览器和 VMware vSphere Client来进行管理,这个网卡设定的ip地址就是ESX Server的ip地址,另外一个网卡就作为 Virtual Network 设备使用。
四、Linux下用crontab定时执行PHP程序的正确方法
这种情况,涉及得比较多的是要定期执行一段邮件或短信任务。以前我用是的wget程序,感觉虽然实现了目的,但还是没有研究透彻。后来花了些时间测试发现在linux下,可以使用crontab+php的方法:
1、使用crontab -e编辑定时任务
内容为:
xx:xx:xx 执行一个test.php文件
2、php文件必须在文件头一行,加上解释器路径(就象perl做的那样)
#!/usr/local/bin/phpPHP的执行需要Apache的支持,shell脚本的执行需要Linux的支持,而Linux支持定时运行某个程序的功能。(参考阅读:将PHP作为Shell脚本语言使【英文】)
※以上是第一种办法。另一种方法就是直接在/etc/crontab里直接带上php路径,如
*/5 * * * * root php test.php这样就设定为每隔五分钟执行一次test.php。有兴趣的朋友可写一个hello程序测试,将其所有输出到一个文件即可测试。
五、点分十进制
另外值得一说的是,大家玩Linux服务时应该会发现,Linux下的服务众多。签于Linux中此类安全限制众多,比如samba,nfs,rsync,tcp_wrapper,xinetd等,而每个又要各自支持的写法,这样对于考试学习及工作记忆很不方便。其实它们均支持192.168.0.0/255.255.255.0这样的点分十进制写法,这里特指出来,希望对大家学习及工作有所帮助(感谢众多RHCE们的努力)。
(注:iptables的语法不支持这样的写法,只支持192.168.0.0/24此类写法。)
六、学习网络知识
另外,系统管理员虽然主要处理的是系统方面和应用方面的事情,但有时遇到了故障,第一时间应该处理的是网络方面的事情;我以前所在的公司,规模都比较大,Network Engineer和System Admin的职责范围都区别开了,虽然网络工程师可以不懂linux/unix系统,但SA最好是掌握网络方面的知识,这样对自己的职业生涯还是有帮助的。
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国