バックアップの保存先容量が足りなくて、バックアップに失敗していた

CentOS7

CentOSで自宅サーバー構築(https://centossrv.com/)のサイトを元にサーバー内のデータをバックアップするスクリプトを組んでいる

cronで動かしているのだが、エラーメールが飛んできたり極端にバックアップ容量が少なかったりとバックアップがうまく取れていなそうだったので原因を探った

原因

コマンドでカチカチ調べていたら、夜中に実行したバックアップが朝になっても終わっていなかったことに気づき、リソースまわりを調べてみたところバックアップの保存先が「/」直下になっていたため、容量が足りなくて失敗していたようだ

df -h

ファイルシス                 サイズ  使用  残り 使用% マウント位置
devtmpfs                       485M     0  485M    0% /dev
tmpfs                          496M     0  496M    0% /dev/shm
tmpfs                          496M   51M  446M   11% /run
tmpfs                          496M     0  496M    0% /sys/fs/cgroup
/dev/mapper/VolGroup-lv_root    18G   17G     0   100% /
/dev/vdb                        79G  314M   75G    1% /data
/dev/vda1                      477M  220M  228M   50% /boot
tmpfs                          100M     0  100M    0% /run/user/1000

バックアップスクリプトでは、以下のように保存先が設定されていた

vi backup.sh

# バックアップ先ディレクトリ名
BACKUPDIR=/backup
mkdir -p ${BACKUPDIR}

(省略)

# バックアップ実行
logger -t `basename ${0}` "backup started."
TMPBACKUPTO=/tmp/backup

対策

「/」は容量が足りないので、BACKUPDIRとTMPBACKUPTOのディレクトリを変更する

先ほどのdfの結果から、/dataは容量に余裕がありそうなので以下のように変更した

vi backup.sh

# バックアップ先ディレクトリ名
BACKUPDIR=/data/backup
mkdir -p ${BACKUPDIR}

(省略)

# バックアップ実行
logger -t `basename ${0}` "backup started."
TMPBACKUPTO=/data/tmp/backup

後日バックアップが取得出来ていることが確認できた
また、dfの結果も以下のように問題なさそうだった

df -h

ファイルシス                 サイズ  使用  残り 使用% マウント位置
devtmpfs                       485M     0  485M    0% /dev
tmpfs                          496M  4.0K  496M    1% /dev/shm
tmpfs                          496M   51M  446M   11% /run
tmpfs                          496M     0  496M    0% /sys/fs/cgroup
/dev/mapper/VolGroup-lv_root    18G   12G  4.8G   71% /
/dev/vdb                        79G  445M   75G    1% /data
/dev/vda1                      477M  220M  228M   50% /boot
tmpfs                          100M     0  100M    0% /run/user/1000
tmpfs                          100M     0  100M    0% /run/user/0

そもそもディスク容量を監視してメールで通知するようにしてれば気づいたのではと思ったので、下記サイトを参考にさせていただいてcron.dailyにスクリプトを登録しました
閾値80%を越したらrootにメールするよう設定しときます
https://www.rep1.co.jp/staff/200vcxg/217rav/df_lcd_-linux_command_dictiona.htm

コメント

タイトルとURLをコピーしました