日付に頼らずにバックアップの世代管理

2013年11月4日 Linux, スクリプト関連

先月の頭あたりにツイートしたきり放置してたやつ。
世代管理というとdateコマンドで日付を特定して古い日付のを削除して・・・とか思いがちだけど、たまたまサーバが落ちてましたとか電源切ってましたとかで削除されなかった時にゴミが残り続けてしまうのでファイル数上限を設定する方が上等かなと。

#!/bin/bash

cd "/filedir/daily/"
dt=`date +%Y%m%d%H`
/usr/bin/crontab -l > "tablog${dt}.txt"
fl=`ls | wc -l`
fn="${1}"
if [ -z "${fn}" ]
then
  fn="10"
fi
if [ ${fl} -gt ${fn} ]
then
  rmf=$(( ${fl} - ${fn} ))
  rm `ls | head -${rmf}`
fi

Qiitaに初投稿しちゃおうかと思ったんだけど、その前にこっちで出しとく。
なぜならQiitaは自分のホームではないから。
既にgithubでは公開済みだし。

半端ないアウェー感。

コメントは受け付けていません。