使用expect脚本 服务器自动登陆部署

之前写过一篇blog,使用公钥和私钥来实现自动登录,后来发现这种方式有一些局限性,比如说服务器设置了用户权限,不允许root用户直接登录,而其它用户又没有~/.ssh的权限,又或者使用了跳转机等。每次登录都要复制两次密码来登录,很是麻烦,后来google了一下,了解了一下expect,来实现服务器的自动登录、跳转、部署等。

1.Expect用途

Expect是一个用来处理交互的命令。借助Expect,我们可以将交互过程写在一个脚本上,使之自动化完成。形象的说,ssh登录,ftp登录等都符合交互的定义。

ubuntu系统交换分区swap的作用,增加与优化

最近因为服务器有时候会因为各种原因而把内存占用满,导致ssh都连接不上,只能通过阿里云的后台来重启服务器。后来发现可以增加swap交换空间来避免这种情况,然后就了解了一下swap空间。

1.在网上找到的文档解释

Linux divides its physical RAM (random access memory) into chucks of memory called pages. Swapping is the process whereby a page of memory is copied to the preconfigured space on the hard disk, called swap space, to free up that page of memory. The combined sizes of the physical memory and the swap space is the amount of virtual memory available.
Linux 把物理内存划分作称为分页(Page)的内存区块。内存交换是一个内存分页被复制到一个预配置的称为 swap 空间的硬盘空间里的过程,以此来释放内存分页。物理内存与这个 swap 空间的共同大小称为可用的虚拟内存量。

rails项目优化 sql优化

因为项目的表数据量比较大,系统经常因为内存满而卡死,所以对整个rails项目进行了一次简单的优化,其中涉及到了几个比较关键的点,记录下来。假设有个product表,数量在百万级别的。

因为是rails项目所以里面会包含一些rails注意事项,还有一些简单的sql语句优化,水平有限,如果有什么不对的地方,还请邮件联系我。