1 概述

  • 服务器的磁盘空间被占满导致TAB补全指令失效(TAB会创建临时文件)
cannot create temp file for here-document: No space left on device
  • 真正服务器的信息不能暴露,所以下面都是用自己的VPS的例子

2 Linux磁盘管理相关操作

# 显示文件系统的磁盘使用情况统计
[root@vultr home]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda6 29G 4.2G 23G 16% /
udev 1.5G 4.0K 1.5G 1% /dev
tmpfs 604M 892K 603M 1% /run
none 5.0M 0 5.0M 0% /run/lock
none 1.5G 156K 1.5G 1% /run/shm # du显示文件或者目录的大小
[root@vultr home]# du -bsh /*
229M /boot
8.9K /dev
24M /etc
4.0K /home
7 /lib
9 /lib64
...... # 查找大于10M的文件
find / -type f -size +10000000c -exec du -sh {} \;

3 发现btmp日志文件太大

(1)查看恶意ip试图登录次数:

[root@vultr log]# lastb|awk '{ print $3}'|sort|uniq -c| sort -n
392 43.225.180.10
463 pool-71-187-181-
600 128.199.231.254
673 162.105.87.199
799 5.188.10.76
863 42.7.27.165
1284 218.5.77.196
1415 185.143.221.2
1648 185.143.222.6
1832 116.31.116.36
2198 vmi86304.contabo
2254 129.213.88.157
3664 42.7.27.166
7229 116.31.116.35
14790 116.31.116.34
......

(2)处理措施

  • 修改SSH端口
# 修改 /etc/ssh/sshd_config
[root@vultr /]# vi /etc/ssh/sshd_config
Port 22 -> 修改为需要的值 # SSH服务重新启动
[root@vultr /]# service ssh restart # 修改完查看是否生效
[root@vultr /]# netstat -nlap|grep sshd|grep tcp|grep LISTEN
  • 禁止root账户登录(禁止之前记得创建普通用户账号和设定sudo密码)
# 修改 /etc/ssh/sshd_config
[root@vultr /]# vi /etc/ssh/sshd_config
添加 PermitRootLogin no # SSH服务重新启动
[root@vultr /]# service ssh restart
  • 封恶意IP地址:定时执行脚本读取登录失败IP,并添加到/etc/hosts.deny文件
# 1 secure_ssh.sh脚本
#! /bin/bash
cat /var/log/secure|awk '/Failed/{print $(NF-3)}'|sort|uniq -c|awk '{print $2"="$1;}' > /usr/local/bin/black.list
for i in `cat /usr/local/bin/black.list`
do
IP=`echo $i |awk -F= '{print $1}'`
NUM=`echo $i|awk -F= '{print $2}'`
if [ ${#NUM} -gt 1 ]; then
grep $IP /etc/hosts.deny > /dev/null
if [ $? -gt 0 ];then
echo "sshd:$IP:deny" >> /etc/hosts.deny
fi
fi
done # 2 将secure_ssh.sh脚本放入cron计划任务,每1分钟执行一次。
# crontab -e
*/1 * * * * sh /usr/local/bin/secure_ssh.sh

4 总结

  • 服务器磁盘空间比较小时,简单的日志文件都可能导致磁盘空间不足
  • 应用的日志应该到达一定量级(如:100M)就压缩归档

5 参考博客

服务器爆满:cannot create temp file for here-document: No space left on device的更多相关文章

  1. Linux命令行报错 bash: cannot create temp file for here-document: No space left on device

    今天Linux服务器出问题了,使用"tab"补全命令时,提示 bash: cannot create temp file for here-document: No space l ...

  2. cd tom-bash: cannot create temp file for here-document: No space left on device

    Linux使用tab补全时提示 cd tom-bash: cannot create temp file for here-document: No space left on device 这是因为 ...

  3. Linux出现cannot create temp file for here-document: No space left on device的问题解决

    在终端输入:cd /ho 按tab键时,显示错误: bash: cannot create temp file for here-document: No space left on device 这 ...

  4. 【linux基础err】bash: cannot create temp file for here-document: No space left on device

    博主的device还有剩余空间也出现了这个问题,不知是什么原因,不过删除一些无用的内容,或者将某些有用的内容移动到其他硬盘,之后就可以正常使用了. 参考: 1. cannot create temp ...

  5. bash: cannot create temp file for here-document: Read-only file system

    文件系统被强制只读问题,第一眼看到百度了一下,说可能磁盘坏了.卧槽我都吓懵了系统盘坏了,闹着玩呢,然后接着查资料,排查 mount 查看所有挂载,发现根目录的挂载权限是ro只读. /dev/sda2 ...

  6. ls bash: cannot create temp file for here-document: No space left on device

    出现这种问题,一般是磁盘空间满了,或者是inode满了 使用命令: df -h查询磁盘空间 df -i 查询inode占用 Filesystem Inodes IUsed IFree IUse% Mo ...

  7. 网页验证码出不来,读取验证码时出错:javax.imageio.IIOException: Can't create cache file!

    版权声明:本文为博主原创文章,仅作为学习交流使用 转载请注明出处 https://www.cnblogs.com/linck/p/10593053.html 今天打开项目时,发现登陆界面的验证码出不来 ...

  8. javax.imageio.IIOException: Can't create cache file!

    javax.imageio.IIOException: Can't create cache file! at javax.imageio.ImageIO.createImageInputStream ...

  9. mysql 无法启动的原因Can't start server: can't create PID file: No space left on device

    一大早来到公司,看到了一个噩梦,后台总是登录不上,登录就出错,还以为被黑客入侵了.经过1个小时的排错原因如下: 我的服务器是linux的,mysql的报错日志路径是/var/log/,经过查看日志发现 ...

随机推荐

  1. Mybatis 传入多个参数查询数据 (3种方法)

    第一种方案 DAO层的函数方法 public User selectUser(String name,String area); 对应的Mapper.xml <select id="s ...

  2. kotlin委托属性

    fun main(arg: Array<String>) { val myClass1 = myClass1() myClass1.name="mycalsss1" v ...

  3. MyEclipse环境的项目改为在Eclipse中运行爬坑记【我】

      新检出一个web项目,同事都是运行在MyEclipse中的,我用Eclipse启动, 1.首先是许多jar包报错: 处理方法为 remove掉,然后 选 WEB-INF 下的所有 jar 重新添加 ...

  4. Windows Qt 项目中文乱码

    在头文件中加入 #if _MSC_VER >= 1600 #pragma execution_character_set("utf-8") #endif

  5. Linux下如何安装Nginx

    看这就够了 https://segmentfault.com/a/1190000012435644 注意如果是远程浏览器访问是否启动了nginx,出现无法访问 服务器能够启动.访问不了页面 很大可能是 ...

  6. CVR并发写入测试

    CVR并发写入测试 测试环境: 主机:DELL Optiplex 790 系统:Windows7SP1 64bit CPU:i5-2500 3.3GB 4核 内存:8GB 硬盘:希捷 7200rpm ...

  7. Course1_Week1_ProgrammingHomeWork

    Exercise 1: Pascal's Triangle The following pattern of numbers is called Pascal's triangle. 1 1 1 1 ...

  8. 【转】TCP/IP网络协议各层首部

    ​ 数据包封装流程(逐层封装,逐层解封) 二层帧(二层帧中目的地址6个字节,源地址6个字节,长度/类型2个字节,二层帧共18个字节) ip头部(ip头部20字节) tcp头部(tcp头部20个字节): ...

  9. (4)Linux命令分类汇总(13~16)

    Linux命令分类汇总(13~16) (十三)系统管理与性能监视命令(9个) 79       chkconfig 管理Linux系统开机启动项. 80       vmstat 虚拟内存统计. 81 ...

  10. 基于mysqld_multi实现MySQL多实例配置

    环境: 操作系统  CentOS7.5(已安装MySQL) 主机名    localhost 本机安装路径为 /usr/local/mysql 实验初始配置:所有主机关闭防火墙与selinux [ro ...