shell 代码上线

shell 代码上线已经介绍过 expect 脚本的使用,可以远程登录机器并执行命令,其实 expect 脚本也可以传输文件。本案例的需求就是通过 expect 脚本来同步文件,从而实现代码上线。生产环境中一个业务通常跑在多台服务器上,也就是所谓的负载均衡,那么这些机器上运行的代码必须要保持一致。如何实现一致呢?有两种方案。通过共享的方式如果机器量不多,可以使用 NFS 实现,当然如果要求稳定性最好是使用专业的存储设

shell 找出磁盘 IO 忙的真凶

shell 找出磁盘 IO 忙的真凶计算机有三大件:CPU、内存、磁盘,这三者有一个“拖后腿”的,那就是磁盘。在生产环境,作为数据库角色的服务器磁盘建议拿至少 4 块硬盘做 RAID10,这样既保证数据读写速度也保证数据的安全。如果使用普通的磁盘,即使 CPU 再强悍,最终的服务器性能也不会太好。在我运维中,遇到过多次因为磁盘 I/O 效率低而导致 MySQL 查询非常慢的问题。对于一般的小网站来说,MySQL 的查询队列(

shell 归档老日志

shell 归档老日志在 Linux 系统中有日志切割的工具 logrotate,它可以按照我们的预期按时间或者按大小来切割和归档老的日志,它还可以压缩切割后的日志,也可以定义老日志保留的时间。本案例的需求是通过一个 shell 脚本来实现类似 logrotate 的功能,具体要求如下:1)要处理的日志路径/data/logs/1.log2)每天 0 点 0 分切割日志 3)老日志保留一周 4)归档后的日志名字为 1.log.1

shell 为 LAMP 的网站增加项目

shell 为 LAMP 的网站增加项目一台运行 LAMP 环境的服务器,上面有几十个网站,每一个网站都分配了单独的虚拟主机和 MySQL 库。目前网站的数量还在持续增加,每增加一个网站需要做的操作如下:1)新增一个 Apache 虚拟主机 2)新增一个 ftp 账号对该网站目录有管理权限 3)新增一个库 4)新增一个数据库用户管理新增库由于这些操作具有非常高的重复度,所以适合用 shell 脚本实现。知识点一:LAMPLAMP 是

shell 监控 CDN 各节点是否正常

shell 监控 CDN 各节点是否正常 CDN 通常在全国各个城市甚至是国外都部署了节点,这样用户可以就近选择访问的节点,无论是在响应上还是在带宽消耗上都会有不错的表现。但反过来说,既然节点多了,那么某个节点出现问题的可能性就大了。本案例的需求是,监控 CDN 各个节点,看其是否正常 1)提供一个所有 CDN 节点 IP 的文本(/data/cdn_ip.list)2)提供一个监控链接地址(http://www.amin