大部分VPS或者虚拟主机服务器什么的都是基于 Linux 系统 (其它操作系统像 Windows 不太适合做服务器, 一则是价钱贵,二是不稳定) Linux 系统主要是命令行界面,多任务多用户系统.强大的地方在于如果配置好的话,完全可以拔掉显示器键盘鼠标等,只接电源放几个月甚至几年都不会出问题.
这篇贴子介绍了备份数据(库)的一种思路.这篇帖子则介绍如何在发现有问题的访问后就禁止掉该IP.有一个非常好的办法就是经常监控比较耗资源(CPU或内存)的进程,及时发现问题.
我们可以在LINUX下创建一个脚本,含有以下内容,并且 chmod +x 后可以直接在命令行下运行.
1 2 3 4 5 | #!/bin/bash #helloacm.com echo "-------`date`--------" echo "\t\t%MEM\t%CPU" ps ax -o comm,%mem,%cpu | sort -nk3 | tail -n 5 |
#!/bin/bash #helloacm.com echo "-------`date`--------" echo "\t\t%MEM\t%CPU" ps ax -o comm,%mem,%cpu | sort -nk3 | tail -n 5
以上几行代码则显示了当前最耗资源(CPU和内存)的5个进程.显示大概是这样:
1 2 3 4 5 6 7 | -------Thu Nov 13 00:12:44 UTC 2014-------- %MEM %CPU apache2 3.6 7.4 mysqld 13.4 7.7 apache2 4.5 10.3 apache2 3.2 11.7 apache2 4.4 12.2 |
-------Thu Nov 13 00:12:44 UTC 2014-------- %MEM %CPU apache2 3.6 7.4 mysqld 13.4 7.7 apache2 4.5 10.3 apache2 3.2 11.7 apache2 4.4 12.2
那么就可以把上面的脚本放到 crontab 中定期执行并存档.如果想实时监控,则可以稍微改一下,加个无限循环,按 Ctrl – C 退出.每隔 10 秒收集一次信息.
1 2 3 4 5 6 7 8 9 10 | #!/bin/bash # helloacm.com while true do echo "-------`date`--------" echo "\t\t%MEM\t%CPU" ps ax -o comm,%mem,%cpu | sort -nk3 | tail -n 5 sleep 10 done |
#!/bin/bash # helloacm.com while true do echo "-------`date`--------" echo "\t\t%MEM\t%CPU" ps ax -o comm,%mem,%cpu | sort -nk3 | tail -n 5 sleep 10 done
英文同步: https://helloacm.com/how-to-monitor-cpu-and-memory-for-high-usage-process-on-linux-system-over-time/
GD Star Rating
a WordPress rating system
本文一共 335 个汉字, 你数一下对不对.a WordPress rating system
上一篇: 如何在APACHE2服务器上禁止指定IP的访问
下一篇: 禁用服务器上的 root 帐号远程登陆 (SSH 和 FTP 和 MySQL 数据库)
扫描二维码,分享本文到微信朋友圈