Ubuntuサーバーのディスクスペースをクリーンアップする方法

0 株式
0
0
0
0

導入

Ubuntu サーバーのディスク容量が不足していませんか?

整理して空き容量を増やしたいですか?もしそうなら、ここが最適な場所です。.

多くの開発者があなたと同じ問題に直面しています。彼らは Ubuntu サーバーに 1 つまたは 2 つの小さなアプリケーションを展開しましたが、時間が経つにつれてディスク領域がいっぱいになり、何をすべきか、どのようにディスク領域を解放すればよいのか混乱しています。.

私も最近同じような状況に陥りました。Ubuntuサーバーのディスク容量が93%も使用されており、サーバー上で稼働している小さなDjangoアプリケーションのディスク使用量は約39GBでした。アプリケーションファイル自体は1GB未満だったので、ディスク容量を増やすことは不可能だと分かっていました。.

結局、サーバー全体を調べて、どのディレクトリとプログラムがディスク領域を占有しているかを判断するのに 1 日を費やす必要がありました。.

この記事では、不要なファイルを見つけて Ubuntu サーバーのディスク領域をクリーンアップするための実証済みの手順を紹介します。.

前提条件
  • Ubuntu を搭載したサーバー(例: Hetzner Cloud を使用)
  • サーバーへのSSHアクセス
  • ルートユーザーまたはsudo権限を持つユーザーへのアクセス
用語例
  • ユーザー名: holu (サーバーのユーザー名)
  • ホスト名:

Ubuntuサーバーのディスクをクリーンアップする方法

ディスク容量の使用量に関して言えば、最も大きな原因は通常ログです。Ubuntuオペレーティングシステムはほぼすべてのログを記録しており、CeleryやNginxなどの多くの開発者ツールやサーバーツール、フレームワークもサーバー上にログを作成し、保存します。.

さまざまなツールやパッケージによって生成されるこれらのレポートは、通常、数ギガバイトのサイズになり、ディスク領域を消費してサーバーの速度を低下させます。.

具体的な手順に入る前に、ルートシステムのログフォルダを削除してはいけないことをお伝えしておきます。ルートログフォルダ(/var/log/)を勝手に削除してしまいがちですが、絶対に削除しないでください。削除してしまうと、本来であれば壊したくない多くのものを壊してしまうことになります。.

ステップ1 – ディスク容量を確認する

最初のステップは、SSH経由でUbuntuサーバーにアクセスすることです。以下のコマンドでログインできます。

Holuにユーザー名とサーバーの IP に置き換えます。.

ssh holu@<your_host>

ログイン後、次のコマンドを実行してディスク容量の使用状況を表示します。.

sudo du -cha --max-depth=1 / | grep -E "M|G"

サンプル出力:

holu@<your_host>:~$ sudo du -cha --max-depth=1 / | grep -E "M|G"
2.8G /root
5.4G /usr
53M /tmp
9.8M /etc
203M /boot
du: cannot access '/proc/100209/task/100209/fd/4': No such file or directory
du: cannot access '/proc/100209/task/100209/fdinfo/4': No such file or directory
du: cannot access '/proc/100209/fd/3': No such file or directory
du: cannot access '/proc/100209/fdinfo/3': No such file or directory
2.5G /home
1.1M /run
307M /opt
522M /logs
11G /var
1.3G /snap
24G /
24G total

ご覧のとおり、このコマンドはディスク上のさまざまなフォルダー/ディレクトリのサイズに関する高レベルの詳細を表示します。.

上記のサンプル出力を見ると、ディスク容量を最も多く使用しているのは/root、/usr、/home、/varです。varディレクトリだけでも11GBあり、このディレクトリで使用されている容量は非常に大きいことがわかります。.

ステップ2 – varディレクトリに移動する

次のステップでは、次のコマンドを使用して /var フォルダーに入ります。.

cd /var

次に、以下のコマンドを実行して、/var フォルダ内のすべてのフォルダのディスク容量使用量を確認します。これにより、どのフォルダからクリーンアップ作業を開始すればよいかがわかります。.

sudo du -bsh *

サンプル出力:

holu@<your_host>:/var$ sudo du -bsh *
2.7M backups
150M cache
4.0K crash
3.6G lib
4.0K local
9 lock
2.5G log
3.0G mail
4.0K opt
4 run
53K snap
52K spool
44K tmp
460M www

サーバー上でそのコマンドを実行すると、lib ディレクトリと log ディレクトリが /var フォルダー内で最も多くのスペースを使用していることがわかります。.

この情報を使用すると、lib ディレクトリと log ディレクトリの両方に焦点を当てて、ハード ドライブのスペースを解放できます。.

ステップ3 – 各ディレクトリに移動して削除します

次に、これらのディレクトリにアクセスしてクリーンアップします。この記事ではログディレクトリのみに焦点を当てますが、Ubuntuサーバー上の他のディレクトリをクリーンアップする場合も、ここで紹介した手順と同じ手順を適用できます。.

ログディレクトリをクリアするには、サーバー上の古いログファイルとその他の不要なファイルを削除する必要があります。ログディレクトリにアクセスするには、次のコマンドを実行します。.

cd log

次に、次の操作を実行します。

ls

サンプル出力:

holu@<your_host>:/var$ cd log
holu@<your_host>:/var/log$ ls
alternatives.log fail2ban.log php7.4-fpm.log.5.gz
alternatives.log.1 fail2ban.log.1 php7.4-fpm.log.6.gz
alternatives.log.2.gz fail2ban.log.2.gz php7.4-fpm.log.7.gz
alternatives.log.3.gz fail2ban.log.3.gz php7.4-fpm.log.8.gz
alternatives.log.4.gz fail2ban.log.4.gz php7.4-fpm.log.9.gz
alternatives.log.5.gz faillog postgresql
alternatives.log.6.gz fontconfig.log private
apport.log installer supervisor
apport.log.1 journal syslog
apport.log.2.gz kern.log syslog.1
apport.log.3.gz kern.log.1 syslog.2.gz
apport.log.4.gz kern.log.2.gz syslog.3.gz
apport.log.5.gz kern.log.3.gz syslog.4.gz
apport.log.6.gz kern.log.4.gz syslog.5.gz
apport.log.7.gz landscape syslog.6.gz
apt lastlog 

ls コマンドを実行すると、このディレクトリ内のすべてのファイルが表示されます。このディレクトリにはアーカイブされたログ ファイルが多数あることがわかります。.

次に、次のコマンドを使用して、このディレクトリ内のすべてのファイルとフォルダーのサイズを確認します。.

sudo du -bsh *

これは上記で使用したのと同じコマンドなので、すべてのファイルとそのサイズのリストが表示されます。ジャーナルフォルダの内容をメモしておいてください。.

ステップ4 – 古いログファイルを削除する

次に、古いログファイルをすべて削除します。古いログファイルは簡単に識別でき、通常は.gzという拡張子で終わります。.

コマンドを使用してすべての .gz ファイルを検索し、サーバーから削除します。.

次のコマンドを実行して、ログ ディレクトリ内のすべての .gz ファイルと .log.1 ファイルを検索して削除します。.

sudo find -type f \( -name "*.log.1" -o -name '*.gz' \) -delete

今すぐ実行してください:

ls

削除されたログディレクトリが表示されるはずです。-name属性の値を変更することで、このコマンドを変更し、異なる種類のファイルを削除することもできます。.

ジャーナルディレクトリがディスク容量を大量に消費しているため、まだ作業は完了していません。このディレクトリをチェックし、いくつかのファイルをクリーンアップする必要があります。.

cd journal

ジャーナルディレクトリ内には、通常、一連の数字で名前が付けられたフォルダがあります。これを削除するには、次のコマンドを使用します。.

このコマンドは、ジャーナル ディレクトリのサイズを適切なサイズである 100 MB に削減します。.

sudo journalctl --vacuum-size=100M

ジャーナル ディスクの使用を永続的に修正したい場合は、以下の手順に従ってください。.

sudo nano /etc/systemd/journald.conf

構成ファイルで、SystemMaxFileSize と SystemMaxFiles の設定 (# を削除) を削除し、100 に設定します。つまり、次のようになります。

SystemMaxFileSize=100
SystemMaxFiles=100

次に、次の操作を実行します。

sudo service systemd-journald restart

これにより変更が適用され、余分なログが削除されます。.

ステップ5 – /var/libフォルダを確認する

私の経験上、もう一つの大きな容量を占めるのは/var/libディレクトリです。Ubuntuサーバーにインストールされているライブラリやツールの数によっては、このディレクトリがかなりの容量を占有することがあります。.

どのライブラリが多くのスペースを占有しているかを簡単に確認するには、次のコマンドを実行します。.

sudo du -hs /var/lib/* | sort -hr | head -10

このコマンドは、このディレクトリ内の最も大きい 10 個のライブラリ フォルダーを表示します。この情報を使用して、クリーンアップ プロセスを続行できます。.

現在使用していないライブラリやツールは完全に削除する必要があります。.

結論

ご覧のとおり、Ubuntuサーバーのクリーンアップはそれほど難しくありません。上記の手順で、/var/log/ディレクトリのクリーンアップに成功しました。同じ手順で/varフォルダ内の他のディレクトリもクリーンアップすれば、Ubuntuサーバーの空き容量を大幅に増やすことができます。.

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

あなたも気に入るかもしれない