简单的磁盘运维

本人所接手的项目,网站突然崩溃,最终定位到是因为磁盘占满的原因。项目长期运行一段时间后,日志文件越来越庞大,拖慢系统运行速度,如果磁盘被占满,文件无法写入,会导致网站崩溃。

排查大文件

针对这种情况,下面的两条命令,已经足够了。

  1. 查看磁盘使用情况

    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
  2. 查找大目录/文件
    列出/www/wwwroot下的目录

    du -h --max-depth=1 /www/wwwroot

    列出当前所在目录下的目录

    du -h --max-depth=1 ./

--max-depth的意思是查找的深度,1是文件夹、0是文件。

  1. 示例
    用上面命令定位到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 命令只查看指定数目的条目

如果当前文件夹下文件特别多,直接 lsll 就很可怕了,那么可以指定只查看多少条

ll | more -1

简单的磁盘运维

每次敲击回车只多查看 1

本作品采用《CC 协议》,转载必须注明作者和本文链接
welcome come back
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!
未填写
文章
95
粉丝
24
喜欢
156
收藏
347
排名:323
访问:2.9 万
私信
所有博文
社区赞助商