LoginSignup
2
0

More than 3 years have passed since last update.

ディレクトリの中のファイル数を一定に保ちたい

Posted at

はじめに

この記事は初心者インフラエンジニアが備録的に書いたものです。

ことのあらまし

前回記事でDBバックアップの自動化をしました。
これに伴い、バックアップの保存先にバックアップファイルが量産されていくことになります。
いつまでも古いバックアップファイルを残しておくのはリソースを圧迫するだけなので、古いものを削除していくことが必要になりました。

やりたいこと

1.増えるファイルの数を管理したい
2.スクリプトで自動化したい

スクリプトの中身

1.ディレクトリの中を参照

backuup.sh
#!/bin/bash
FilePath="/var/backup"
ls -t $FilePath | tail -n+5

ディレクトリの中身を更新時間でソート → 5行目から表示

2.n日前より古いファイルを削除

backup.sh
rm `ls -t $FilePath | tail -n+5`

5行目から削除

3.実行結果をログに出す

backup.sh
for filename in $FilePath ; do 

 echo $filename

done >> backup.log

1,2を&&とかで繋ぐといい感じになりそう。

まとめ

・スクリプトでやりたいことを明確にする
・全部を一気に書くのではなく、部分的に作っていく
・ログ出力は大切

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0