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

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

wKiom1LeN9fgObHHAAO1Z5Y1qgo343.jpg


有了ramdisk以後,mac是不是不一樣了?沒感覺,好吧,ramdisk不是救世主,不能減少pm2.5的,只能提高部分文件的io效率,要想那啥的,換機器+ssd纔是正道。


用了一陣子之後,發現ramdisk越來越大了沒有?趕緊看下,果然啊,cache目錄佔了好多容量。

wKiom1LeNoKyUZirAAPlubBgjS4992.jpg

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


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


結果就是我們來修改下logout.sh,去掉cache中的那些大傢伙。不說了,上代碼


#!/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的目錄直接不再保存,每次重啓應用,這個目錄就會自動重新生成的。

MAX_CACHE_SIZE 可以指定最大的cache目錄大小


重啓機器,再來看下

wKiom1LeNunj_6l0AAMQ6hsGT4U343.jpg

於是世界終於和平了…………


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章