Linux教程

定时清理磁盘

本文主要是介绍定时清理磁盘,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

背景

3w多买的iOS垃圾桶,配置上Jenkins做为打包机,大大提高了团队的打包效率。但是随着项目数量和项目迭代的增加,打包机的磁盘越来越不够用,需要定时给打包机瘦身。

方案

使用shell脚本遍历需要清理的目录,对2周之前的包进行删除。有些包特别大的,也可以设定更短的时间处理。

实现脚本

#!/bin/bash

echo "clean before ........"

df -h

echo ">>>>>>>>>>>>>>>>>>>>>>>cleaning ......"

my_array=("a" "b" "c" "d" "e" \
        "rld" "_src" "xxx" "ssss" \
        "dddya" "an" "ynp")

for loop in ${my_array[@]}
do
    echo "-------begin clean project $loop-------"
    pfile="$HOME/xxx/build_result/ios/$loop"
    if [[ -d "$pfile" ]]
    then
        if [[ "$pfile" =~ "dddya" ]]; then
                find $pfile -mtime +5 -exec rm -rf {} \;
        else
                find $pfile -mtime +15 -exec rm -rf {} \;
        fi
    else
        echo "$loop project not exist"
    fi
    echo "------end clean project $loop-------"
    echo ""
    echo ""
done

pfile="$HOME/Downloads/DerivedData"
echo "-------begin clean DerivedData-------"
find "$pfile" -mtime +0 -exec rm -rf {} \;
echo "-------end clean DerivedData----------"

pfile="$HOME/Downloads/Archives"
echo "-------begin clean Archives-------"
find "$pfile" -mtime +5 -exec rm -rf {} \;
echo "-------end clean Archives----------"

echo ">>>>>>>>>>>>>>>>>>>clean after ........"
复制代码

Jenkins定时任务

这篇关于定时清理磁盘的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!