简单的磁盘运维
本人所接手的项目,网站突然崩溃,最终定位到是因为磁盘占满的原因。项目长期运行一段时间后,日志文件越来越庞大,拖慢系统运行速度,如果磁盘被占满,文件无法写入,会导致网站崩溃。
排查大文件
针对这种情况,下面的两条命令,已经足够了。
查看磁盘使用情况
df -h
disk file help
[root@VM_6_184_centos Uploads]# df -h Filesystem Size Used Avail Use% Mounted on /dev/vda1 50G 36G 12G 77% / devtmpfs 1.9G 0 1.9G 0% /dev tmpfs 1.9G 24K 1.9G 1% /dev/shm tmpfs 1.9G 464K 1.9G 1% /run tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup tmpfs 380M 0 380M 0% /run/user/0 tmpfs 380M 0 380M 0% /run/user/1001
查找大目录/文件
列出/www/wwwroot下的目录du -h --max-depth=1 /www/wwwroot
列出当前所在目录下的目录
du -h --max-depth=1 ./
--max-depth
的意思是查找的深度,1
是文件夹、0
是文件。
- 示例
用上面命令定位到logs
文件夹很大,这里是存放日志的地方。
可以看到运行三年的nginx
日志是非常大的,就是这个access.log
。
这样就为系统腾出了echo "" >access.log
25G
的空间。
删除 N 天前创建的文件
如果是很多个文件的情况,可以用以下命令删除N天前创建的文件,亲测删除了TP3.2.3网站下的18G的log文件
find /data/wwwroot/tp3.2.3/Public/Runtime/Logs/Home -mtime +7 -exec rm -rf {} \;
注意! find
后面的路径千万别写错,千万别写成 /
,避免失误,建议先用 pwd
命令查看要删除的位置的绝对路径。
查看目录下文件或目录的个数
文件
ls -l | grep "^-" | wc -l
目录
ls -l | grep "^d" | wc -l
ls或ll 命令只查看指定数目的条目
如果当前文件夹下文件特别多,直接 ls
或 ll
就很可怕了,那么可以指定只查看多少条
ll | more -1
每次敲击回车只多查看 1
条
本作品采用《CC 协议》,转载必须注明作者和本文链接