【無所不能的腳本2】mac下的ramdisk進化

好吧,以前的文章【無所不能的腳本】mac下的ramdisk 上了首頁,哇哈哈,謝謝CCTV,謝謝51CTO。bash

wKiom1LeN9fgObHHAAO1Z5Y1qgo343.jpg


有了ramdisk之後,mac是否是不同了?沒感受,好吧,ramdisk不是救世主,不能減小pm2.5的,只能提升部分文件的io效率,要想那啥的,換機器+ssd纔是正道。ide


用了一陣子以後,發現ramdisk愈來愈大了沒有?趕忙看下,果真啊,cache目錄佔了好多容量。spa

wKiom1LeNoKyUZirAAPlubBgjS4992.jpg

很大有沒有,用軟件清理麼?不符合懶人哲學啊。做爲有追求的屌絲it男,必須用腳本。blog


¥%¥#……%……&%……(再次省略無數的探索過程……)get


結果就是咱們來修改下logout.sh,去掉cache中的那些你們夥。不說了,上代碼pm2


#!/bin/sh
                                                            
DISK_NAME=RamDisk
MOUNT_PATH=/Volumes/$DISK_NAME
WORK_PATH=/etc/ramdisk
BAK_PATH=$WORK_PATH/$DISK_NAME.tar.gz
LISTFILE=$WORK_PATH/list
#設置最大的cache大小(字節)
MAX_CACHE_SIZE=50
#
cd $MOUNT_PATH
declare -a fa
i=0
for file in $(du -s Caches/* | sort -n)
do
  fa[$i]=$file
  let i=i+1
done
size=$((i/2))
echo "file number:"$size
cd $WORK_PATH
echo ".?*">$LISTFILE
for((i=0;i<$size;i++))
do
  if ((${fa[$((i*2))]}<(($MAX_CACHE_SIZE*1024*2)) ));then
    echo "add:"${fa[$((i*2+1))]}
  else
    echo ${fa[$((i*2+1))]}>>$LISTFILE
  fi
                                                             
done
if [ -e $MOUNT_PATH ] ; then
    cd $MOUNT_PATH
    tar --exclude-from $LISTFILE -czf $BAK_PATH .
fi

簡單說明下,就是把cache目錄下超過50M的目錄直接再也不保存,每次重啓應用,這個目錄就會自動從新生成的。it

MAX_CACHE_SIZE 能夠指定最大的cache目錄大小io


重啓機器,再來看下class

wKiom1LeNunj_6l0AAMQ6hsGT4U343.jpg

因而世界終於和平了…………效率

相關文章
相關標籤/搜索