异常:服务器存储空间不足

如何解决磁盘空间占满问题

部分小伙伴们在使用RPA一段时间后可能会出现服务端磁盘空间占用过高或者硬盘余量不足的情况,出现此问题原因大多是因为随着时间的推移日志文件量的堆积、录屏视频体积增多、docker挂载无用镜像、容器缓存等,针对这类情况我们给出了以下建议:

Docker磁盘清理

注意

需要先把已启动的服务停掉,再去执行以下操作

查看磁盘容量的使用情况:df -h

查看Docker的磁盘使用情况:docker system df

Docker内置自动清理:docker system prune

删除无用的卷:docker volume prune

注:docker system prune 默认会清除、已停止的容器(container)、未被任何容器所使用的卷(volume)、被任何容器所关联的网络(network)、所有悬空镜像(image)

清理RPA服务端日志文件

磁盘查看命令

如发现由于磁盘占用率过高,排查方法如下:

  1. 登录服务器,df查看磁盘占用情况

  2. cd切换到图中目录,查看当前目录文件大小,如果因为日志文件过大导致磁盘空间满,应该是containers文件夹下。

  3. 通过如下命令查看当前路径下文件夹大小

du -sh ./*

4.进入磁盘占用较大的文件夹内

5.此时有个******.log文件比较大,将此文件删除。

6.重启robot容器

docker restart <container_ID>

设置自动清理RPA服务端日志的脚本

1.创建脚本文件

vi ~/applogs_clean.sh

2.复制脚本内容

#!/bin/sh

Folder_Path="/private/rpa4data/log"
for file_a in ${Folder_Path}/*
do
  result=$(echo ${file_a##*/} | grep rpa)
  if [[ "$result" != "" ]]; then

     log_path=$( echo $file_a/logs)

     find "${log_path}"/* -mtime +3 -name "*.log.*" -exec rm -rf {} \;
     find "${log_path}"/* -mtime +3 -name "*.log" -exec rm -rf {} \;
  fi
done

注:此操作为清除三天前的日志。

3.新增crontab任务

crontab -e

4.在打开的脚本中添加如下内容

# 每天凌晨一点半执行脚本
30 1 * * * bash applogs_clean.sh