Add initial scripts and project conventions
This commit is contained in:
1 parent
af9f32facc
commit
c777cf115b
14 files changed
+982
-9
No files matched your search
@@ -0,0 +1,53 @@
|
||||
# repair-hdd.sh
|
||||
|
||||
Презаписва избран диск, за да задейства remap на проблемни сектори, след
|
||||
което изпълнява SMART extended self-test и показва финален отчет.
|
||||
|
||||
## Какво прави
|
||||
|
||||
Скриптът записва целия block device с нули или псевдослучайни данни. След
|
||||
това стартира продължителен SMART self-test и изчаква очакваното му време,
|
||||
преди да покаже резултата и SMART атрибутите. Изходът се записва в
|
||||
`/var/log/hdd-repair/`.
|
||||
|
||||
**Операцията унищожава всички данни на избрания диск.** Преди запис скриптът
|
||||
проверява дали дискът участва в root filesystem, проверява за монтирани
|
||||
дъщерни устройства и активен swap, и изисква изрично потвърждение `YES`.
|
||||
Ако дъщерно устройство не може да се демонтира, скриптът прекратява
|
||||
операцията.
|
||||
|
||||
Използвай само с правилно идентифициран диск, който можеш безопасно да
|
||||
изтриеш. Изисква пряка SATA връзка; `smartctl` не използва `-d sat`, затова
|
||||
USB адаптер може да изисква ръчна промяна на извикванията в скрипта.
|
||||
|
||||
## Изисквания
|
||||
|
||||
- Linux и Bash
|
||||
- Root права (`sudo`)
|
||||
- `smartctl` от пакета smartmontools
|
||||
- `findmnt`, `lsblk`, `readlink`, `swapon`, `umount` и стандартните GNU/Linux
|
||||
помощни команди, използвани от скрипта
|
||||
- OpenSSL е незадължителен; при липса режимът `random` използва `/dev/urandom`
|
||||
|
||||
## Употреба
|
||||
|
||||
```bash
|
||||
sudo ./HDD/repair-hdd.sh --help
|
||||
sudo ./HDD/repair-hdd.sh /dev/sdX
|
||||
sudo ./HDD/repair-hdd.sh /dev/sdX zero
|
||||
sudo ./HDD/repair-hdd.sh /dev/sdX null
|
||||
sudo ./HDD/repair-hdd.sh /dev/sdX random
|
||||
```
|
||||
|
||||
| Аргумент | Описание |
|
||||
|----------|----------|
|
||||
| `DEVICE` | Целият диск, например `/dev/sdX`, не дял от него |
|
||||
| `zero` | Записва нули; режим по подразбиране |
|
||||
| `null` | Синоним на `zero` |
|
||||
| `random` | Записва псевдослучайни данни |
|
||||
| `-h`, `--help` | Показва помощта и приключва |
|
||||
|
||||
Изпълнението може да продължи часове. Не прекъсвай захранването или връзката
|
||||
с диска по време на записа или SMART теста. SMART remap не възстановява
|
||||
данни и не гарантира, че дискът ще стане надежден; запази резервно копие и
|
||||
подмени диск с повтарящи се грешки.
|
||||
Reference in new issue
Block a user