場所に関する問題を解決し、ディレクトリ「Disassemble」を整理します

私たちはそれぞれ「Parse」ディレクトリと「Downloads」ディレクトリを持っていると思います。その中身はすべて恐ろしいものです。特に、いつかはこれらすべてをかき集めなければならないという考えからです。 スペース不足の問題に対する私の解決策を提案します。これは、スーパー階層化の方法ではなく、クラウド内のどこかにスペースを無限に増やす方法ではなく、ダウンロードした情報を整理するだけのアイデアです。



画像



ファイルが2週間記憶されていなかった場合、インターネット上でダウンロードされたほとんどすべてのものがすぐに古くなる傾向があるにもかかわらず、1〜2年で記憶される可能性はどのくらいですか。 このソリューションは、共有リソース(ファイルダンプ)の整理にも適しています。



未知のコレクティブのアルバムを聴くことは常に可能であるとは限らず、この音楽があなたの好きなジャンルに起因するという事実にのみ関心があり、通常2つの解決策があります。 最初のケースでは、アルバムは「Parse」ディレクトリに分類され、「Downloads」ディレクトリに残ります。これは後で呼び出されます。誰もがこれらのディレクトリがどれだけ速く膨らむかを知っています。 2番目のケースでは、アルバムは特別に指定されたディレクトリ「Music」に保存され、常に増加していますが、結果として、これはあなたのお気に入りのアーティストや選択したアーティストが保存される場所ではなく、同じディレクトリ「Make out」サウンドファイルの種類でソートされています。

映画、本、壁紙、ドキュメントなども同様です。 感情、推奨事項、美しい表紙に屈することでダウンロードできますが、この映画や本が本当にディスクスペースに値するかどうかはまだ知る価値があります。 ファイルのゴミについてはコメントする価値はありません。名前がそれ自体を物語っているからです。



実際、私のソリューションは、ディレクトリデータを自動的にクリーンアップするスクリプトですが、スマートな方法で、すぐにではありません。 ディスク上のすべてのものが並べ替えられ、ディレクトリに配置されるように予約したい:「音楽」、「写真」、「ビデオ」、「書籍」、「仕事」など。これは、私が知って覚えている選択した情報です。 。 そこにたどり着くすべてのことを聞いて見通します ダウンロードされた情報は2週間「ダウンロード」に保存され、その後それを思い出せば(本当に有名で期待される本/アーティストであれば、通常はこれを覚えています)、割り当てられたディレクトリの1つに分類されます。それ以外の場合は、忘却の対象になります。 「記憶」の過程で、私は2週間離れます。 週のデータは「ダウンロード」ディレクトリ全体ではなく、各ファイルごとにカウントされます。 スクリプトは2週間ごとにすべてを削除するわけではなく、4時間ごとに削除可能な古いファイルをチェックします。 また、スクリプトはatime引数を使用します(ファイルに最後にアクセスしたときまで)。たとえば、まだ考えているクリップ/写真/音楽がある場合、同じ2週間をカウントするカウンターは、ファイルを開くたびにゼロにリセットされます。情報が重要で需要がある場合、それが本当に忘れられるまで続きます。 このシステムは6か月間、1日間正常に機能しており、スマートフォンに移行する時間がない本がいくつか削除され、残りはプラスにすぎません。



スクリプト自体:



猫/ var /スクリプト/クリーニング


#!/bin/bash
FOLDERS="/mnt/drive_2/shared_folder /mnt/drive_2/Downloads /home/*/Desktop /home/*/Downloads /home/*/.Trash /home/*/.local/share/Trash"
LOGDIR=/var/log/cleaning
LOG="$LOGDIR/log"

#     ,  , 
if [ -d "$LOGDIR" ]; then
echo "directory $LOGDIR is exist"
else
mkdir $LOGDIR
echo "directory $LOGDIR was created"
fi

#   
for DIRECTORY in $FOLDERS ; do
echo "PROCESSING_DIRECTORY=$DIRECTORY"

#    ,       2 
find $DIRECTORY -atime +14 -type f | while read FILE ; do
rm -rf "$FILE"
echo "$(date +%d.%m.%y%t%H:%M:%S) File $FILE was delited from $DIRECTORY as old"
echo "$(date +%d.%m.%y%t%H:%M:%S) File $FILE was deleted from $DIRECTORY as old" >> $LOG
done
#   
find $DIRECTORY -type d -empty | while read DIR ; do
rm -rf "$DIR"
echo "$(date +%d.%m.%y%t%H:%M:%S) Directory $DIR was delited from $DIRECTORY directory as empty"
echo "$(date +%d.%m.%y%t%H:%M:%S) Directory $DIR was deleted from $DIRECTORY directory as empty" >> $LOG
done

done

exit 0

      
      







cat /etc/crontab


# cleaning
45 */4  * * *   root    /var/scripts/cleaning                                   # cleaning every 4 hours

      
      







cat /etc/logrotate.d/cleaning


/var/log/cleaning/log {
  rotate 12
  monthly
  compress
  missingok
  notifempty
}

      
      







, , , :

: find $DIRECTORY -atime +7 -type f -delete

: find $DIRECTORY -type d -empty -delete



, , ( shared ), ( ntp ), , , , , «» , , , .



man find:



-mtime — .

-atime — .

-ctime — .



-mmin — .

-amin — .

-cmin — .



man find, …



All Articles