大部分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/
强烈推荐
- 英国代购-畅购英伦
- TopCashBack 返现 (英国购物必备, 积少成多, 我2年来一共得了3000多英镑)
- Quidco 返现 (也是很不错的英国返现网站, 返现率高)
- 注册就送10美元, 免费使用2个月的 DigitalOcean 云主机(性价比超高, 每月只需5美元)
- 注册就送10美元, 免费使用4个月的 Vultr 云主机(性价比超高, 每月只需2.5美元)
- 注册就送10美元, 免费使用2个月的 阿里 云主机(性价比超高, 每月只需4.5美元)
- 注册就送20美元, 免费使用4个月的 Linode 云主机(性价比超高, 每月只需5美元) (折扣码: PodCastInit2022)
- PlusNet 英国光纤(超快, 超划算! 用户名 doctorlai)
- 刷了美国运通信用卡一年得到的积分 换了 485英镑
- 注册就送50英镑 – 英国最便宜最划算的电气提供商
- 能把比特币莱特币变现的银行卡! 不需要手续费就可以把虚拟货币法币兑换
微信公众号: 小赖子的英国生活和资讯 JustYYUK