Сегодня я заметил, что потерял около 1 ТБ очень старых фильмов в своей коллекции. Я понятия не имею, как это произошло, ноМунинпоказывает, что произошло. Я почти уверен, что это была моя вина. (Я не спал в тот час, да; но я не уверен на 100%). Как я могу предотвратить повторение чего-то подобного? Как я могу предотвратить удаление себя (или программы/скрипта) более x ГБ данных? Любые предложения приветствуются.
решение1
Как человек, успешно удалив /Windows
подкаталог избегсистема windows, и удалил содержимое /bin
набегLinux Boxen (он не умер!)... Мне знакомо это чувство. (Но я не знаю, КАК я это сделал с Windows, это не должно быть возможно, Windows блокирует используемые файлы.)
Несколько вариантов:
Удалить возможность записи из содержащего его подкаталога.
chmod a-w /my_movie_dir
использовать
chattr
&lsattr
установить/проверитьнеизменныйфлаг.chattr +i
"Earth vs The Flying Saucers.m4v"
'устанавливать'этот диск/раздел кактолько для чтенияпо умолчанию (см.'fstab'), требуя от вас
mount -o rw,remount /my_movie_dir
делать плохие вещи.
решение2
Мне кажется, что лучшим вариантом здесь будет переименовать rm (или что-то еще, что вы обычно используете для удаления) и обернуть это в новый скрипт rm. Под лучшим вариантом я не имею в виду лучший вариант, но забавно подумать об этом. Возможно, вам просто стоит быть осторожнее с удалениями.
Я быстро протестировал это после переименования rm в rm-real
#!/bin/bash
/bin/rm $1
И это работает. Вы можете сделать так, чтобы это использовало несколько функций в rm и вывести себе небольшую заметку, чтобы использовать rm-real для полной функциональности, или пройти упражнение по получению правильных аргументов.
Редактировать: На самом деле лучший вариант — это хорошие резервные копии. Изменение rm — это весело, но, как отмечено в комментариях, немного шатко.