在挂载USB备份驱动器时保持睡眠状态?

每隔几天一次,我们的备份到外部USB硬盘就会出现故障,在运行CentOS 6.4 64位的hp DL380 G5服务器上失败。 如果我cd /mnt/backup并运行ls它会报告ls: reading directory .: Input/output error ,但mount -l报告/dev/sda1 on /mnt/backup type ext4 (rw) 。 当我到现场检查时,他们总是报告外部驱动器上的指示灯缓慢闪烁,这对于睡眠状态显然是正常的。 但是我不要求它在进行rsnapshot运行之前进入睡眠状态,但是rsnapshot导致我的脚本失败,甚至有机会发生。 它试图节省电力吗? 我怎样才能做到这一点?

rsnapshot抱怨:

 /usr/bin/rsnapshot daily: ERROR: /mnt/backup/.snapshots does not exist. 

当然,如果现场的人拔出并重新插入驱动器,我可以重新挂载它,并且.snapshots肯定存在,并且rsnapshot将运行而不会出错。 有一段时间,直到下一个随机发生,那就是。 顺便说一句,这是一个相当新的WD Passport硬盘。

那么我怎么告诉它保持清醒?

如果这个hw poweroff是linux内核的一个正常的函数,它正确地处理它。 不,我认为这是来自惠普硬件的惊喜。

我build议一个简单的解决方法。 放入crontab:

 * * * * * dd if=/dev/sda of=/dev/null bs=512 count=1 

这将在每分钟读取pendrive的分区表中。 它不会降低pendrive的使用寿命,因为它只能从中读取操作,但会阻止打开睡眠模式。

在我的系统中,我从未处理过这样的问题。 如果安装了一个pendrive,它被安装,如果我忘记了,并且在两周后尝试使用它的分区,它可以打开,没有一个单一的内核警告。

也许防止高清睡眠和固件caching的最好的方法是读取磁盘的随机扇区:

 * * * * * bash -c 'dd if=/dev/sda of=/dev/null count=1 skip=$RANDOM' 

它对我来说工作得很好。