rsync cronjobは日中は成功しましたが、夜にはターゲットが見つかりませんでした。私の外付けハードドライブが「スリープ状態」になる可能性はありますか?

rsync cronjobは日中は成功しましたが、夜にはターゲットが見つかりませんでした。私の外付けハードドライブが「スリープ状態」になる可能性はありますか?

注:この問題に対する簡単な解決策があるため(たとえば、日中にデータをバックアップするだけです!)、これは緊急の問題ではありません。しかし、私はスタック交換とaskubuntuを広く検索しましたが、この質問が投稿されたのを見ませんでした。誰かが迅速な修正を知っているかどうか少し疑問に思う。

私はcronタスクを使って家庭やオフィスのコンピュータからデータを外付けハードドライブにバックアップしてきました。家庭用コンピュータでは、すべてが期待どおりに機能しますが、オフィスコンピュータ(Ubuntu 22.04.3を実行してWestern Digital USBハードドライブにバックアップされたDell OptiPlex)には不明な興味深い欠陥があります。

cronjobをテストするときは、希望の時間(1分後)を設定し、時計が変わるのを待ってから作業が正常に行われていることを確認してください。ただし、夜中にジョブを実行するように設定すると、次のメッセージで同じジョブが失敗します。

No such file or directory (2) "/media/hb/a993cec9-4360-4000-ad03-394b2051f0cc1"
rsync error: error in file IO (code 11) at main.c(791) [Receiver=3.2.7]

だから毎朝出勤すると、バックアップが実行されていることを確認し、失敗したことを確認し、理由を調べるためにテスト実行を実行し、すべてがうまくいきます。コンピュータが非アクティブのとき、外付けハードドライブが「スリープモード」に切り替わる可能性はありますか?コンピュータが眠りに落ちず、前日の夜の深夜にSSH経由でリモートでアクセスしました。朝に積極的にドライブを取り付ける必要はなく、コンピュータの前に座るたびに常にドライブがあるようです。

私のcrontabは次のようになります。

SHELL=/bin/bash
0 1 * * * /snap/bin/offlineimap -c /home/hb/snap/offlineimap/297/.offlineimaprc 
0 2 * * * /home/hb/backup_office_computer.sh daily > /home/hb/backup_daily.log 2>&1
0 3 * * 6 /home/hb/backup_office_computer.sh weekly > /home/hb/backup_weekly.log 2>&1

# -- daytime tests here
48 9 * * * /home/hb/backup_office_computer.sh weekly > /home/hb/backup_weekly.log 2>&1

Offlineimapジョブは常に機能し(したがってcronはOKです)、毎週のテストrsyncジョブは常に機能しますが(シェルスクリプトは問題ありません)、午前2時と午前3時のバックアップジョブは常に外付けハードドライブを見つけられません。

スクリプトはbackup_office_computer.sh次のとおりです。

#!/bin/bash

WD_path="/media/hb/a993cec9-4360-4000-ad03-394b2051f0cc1"

# print start time
now=$(date)
echo "========= starting backup at: $now ========="
echo "========= running as: $(whoami) ========="

# backup home directory
rsync -aAXP --delete --exclude '*.Trash-1000' --exclude 'tmp*' --exclude '.cache' --exclude '.dbus' --exclude '.gvfs' /home/hb $WD_path/home-backup-$1

echo "========= home backup completed. Starting LSS: $now ========="

if [ "$(ls -A /media/hb/LSS)" ]; then
        # LSS is mounted (LSS is better for long-term storage than quick edits. Once a week should be enough)
        if [ $1 == "weekly" ]; then
                rsync -aAXP --delete /media/hb/LSS/* $WD_path/LSS-backup-$1/
        else
                echo "Ignoring LSS: We only back up weekly."
        fi
else
        echo "/media/hb/LSS is empty. Drive not mounted"
fi

# print end time
now=$(date)
echo "====== backup finished at at: $now ========"

欠落しているディレクトリの夜間エラーメッセージは常にターゲットドライブを参照し、/media/hb/a993cec9-4360-4000-ad03-394b2051f0cc1毎週バックアップされる他のマウントされたドライブを参照しません。/media/hb/LSS/

=====更新(2023/11/22) =====

公開した後、SSHを介してオフィスのコンピュータに接続しようとしましたが、コンピュータを離れてから5分以内に外付けドライブが消え、それが見つからずマウントlsblkできませんでした。もちろん、その中のフォルダやファイルも消えてからは見えなくなりますls

実際にコンピュータに戻ると、キーボードやマウスをタッチするたびに回転が始まり、画面のロックを解除するとドライブが再び検索され、lsblk自動的にマウントされ、すべてのファイルがlsおなじみの場所にあります。

テストとして、画面が暗くなり、ロックされるまで非アクティブ状態(5分ではなく)15分を待つようにシステム設定を変更しました。その後、10分間空いた後、SSHログインを介してドライブにアクセスできますが、わかっている限り15分後にドライブが再び消えてマウントできなくなります。

そのため、画面が暗くなり、ロックされるたびに外部ドライブ(モデル:WD Elements 25A3(1030))が自動的にスリープモードに切り替わるとします。

私のコンピュータのすべてのスリープツールを単に無効にすることはできますが、そのような大胆な対策を講じる前に、よりエレガントなソリューションを提供するいくつかのツールについて読んでいますsdparmhdparm

ベストアンサー1

おすすめ記事