服务器爆满:cannot create temp file for here-document: No space left on device
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 参考博客
- https://blog.csdn.net/ITzhangdaopin/article/details/80366776
- http://blog.chinaunix.net/uid-20329764-id-5016539.html
服务器爆满:cannot create temp file for here-document: No space left on device的更多相关文章
- 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 ...
- 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 这是因为 ...
- 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 这 ...
- 【linux基础err】bash: cannot create temp file for here-document: No space left on device
博主的device还有剩余空间也出现了这个问题,不知是什么原因,不过删除一些无用的内容,或者将某些有用的内容移动到其他硬盘,之后就可以正常使用了. 参考: 1. cannot create temp ...
- bash: cannot create temp file for here-document: Read-only file system
文件系统被强制只读问题,第一眼看到百度了一下,说可能磁盘坏了.卧槽我都吓懵了系统盘坏了,闹着玩呢,然后接着查资料,排查 mount 查看所有挂载,发现根目录的挂载权限是ro只读. /dev/sda2 ...
- 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 ...
- 网页验证码出不来,读取验证码时出错:javax.imageio.IIOException: Can't create cache file!
版权声明:本文为博主原创文章,仅作为学习交流使用 转载请注明出处 https://www.cnblogs.com/linck/p/10593053.html 今天打开项目时,发现登陆界面的验证码出不来 ...
- javax.imageio.IIOException: Can't create cache file!
javax.imageio.IIOException: Can't create cache file! at javax.imageio.ImageIO.createImageInputStream ...
- mysql 无法启动的原因Can't start server: can't create PID file: No space left on device
一大早来到公司,看到了一个噩梦,后台总是登录不上,登录就出错,还以为被黑客入侵了.经过1个小时的排错原因如下: 我的服务器是linux的,mysql的报错日志路径是/var/log/,经过查看日志发现 ...
随机推荐
- spring项目启动错误——java.lang.NoClassDefFoundError: org/springframework/context/ApplicationContext
最近在搭spring项目框架的时候,遇到一个很伤的问题,翻了很多帖,都报告说什么少spring-context包啊之类的,但实际上spring的那些依赖我根本没漏,下面是我的pom: <depe ...
- mac 设置 MySQL 数据库默认编码(字符集)为 UTF-8
mac 设置 MySQL 数据库默认编码(字符集)为 UTF-8 原文链接:https://juejin.im/post/5bbdca76e51d45021147de44 鉴于有些刚接触 MySQ ...
- SQL-W3School-高级:SQL FOREIGN KEY 约束
ylbtech-SQL-W3School-高级:SQL FOREIGN KEY 约束 1.返回顶部 1. SQL FOREIGN KEY 约束 一个表中的 FOREIGN KEY 指向另一个表中的 P ...
- thinkphp模版主题使用方法
3.1.3模版主题使用方法,手册貌似没有.配置项: 'DEFAULT_THEME'=>'default',//默认主题 'THEME_LIST'=>'default,theme',//主题 ...
- Robot Framework 学习资源汇总
学习网站 http://robotframework.org/ http://www.testtao.cn/?cat=43 https://www.jianshu.com/c/483e8ffcbc79 ...
- 【403】COMP9024 Exercise
Week 1 Exercises fiveDigit.c There is a 5-digit number that satisfies 4 * abcde = edcba, that is,whe ...
- React Native使用NetInfo对当前系统网络的判断
有网状态: 断网状态: 代码如下: 注意:第一次参考了http://www.hangge.com/blog/cache/detail_1614.html代码,一直显示的是unknow状态... 最后处 ...
- flask数据库连接池DBUtils
数据库连接池 为啥要使用数据库连接池 频繁的连接和断开数据库,消耗大,效率低 DBUtils可以创建多个线程连接数据库,且一直保持连接,不会断开 执行数据库操作时,由数据池分配线程,当数据池空时,可选 ...
- for 和 while 用于遍历时候的区别
for: 以空格作为间隔符,输出字段. read: 以行作为间隔符,输出字段. 对于文件来说,如果只有一列,for 和 read 无区别, 多列的话, 有区别. read 用法详情: 见 如下转 ...
- vc++中播放声音
http://www.cnblogs.com/xuemaxiongfeng/articles/2462560.html http://bbs.csdn.net/topics/390729457 htt ...