Наши партнеры

UnixForum





Библиотека сайта rus-linux.net

Автоматическое удаление старых файлов из корзины в Linux

Оригинал: How to Automatically Delete Old Files from Trash on Linux
Автор: Alexandru Andrei
Дата публикации: 20 ноября 2018 года
Перевод: А. Кривошей
Дата перевода: сентябрь 2019 г.

Почти наверняка в какой-то момент вашей жизни вы удалите не тот файл или каталог. Или вы намеренно удалите файл, чтобы потом осознать, что он вам снова нужен.

Но есть лучший способ избавиться от данных, которые вам больше не нужны. И это то, что реализовано в Windows 10, некоторых из новых смартфонов и, возможно, в некоторых настольных средах, включенных в дистрибутивы Linux.

Тем не менее, скорость внедрения этой системы по-прежнему очень низкая, и большинство пользователей не знают, насколько она может быть полезной. Это понятно, поскольку это одна из тех функций, которую вы не сможете оценить, пока не спасете вас.

Прямое удаление по сравнению с отправкой в корзину

Короче говоря: оба эти варианта отстой. Прямое удаление файла представляет очевидную проблему, упомянутую ранее. Что если вы позже поймете, что вам нужны эти данные? Нет простого способа получить их обратно, особенно в файловых системах ext4 (отменить удаление в файловой системе Windows NTFS несколько проще).

Это правда, что в большинстве случаев вы удаляете некоторые файлы и больше не нуждаетесь в них. Но в один прекрасный день вам захочется почистить компьютер.

Рабочий стол замусорен, и вы видите кучу ненужных электронных таблиц. Вы распечатали их и передали своему боссу, поэтому не видите причин, по которым они вам понадобятся снова. Вы стираете все, и рабочий стол снова становится чистым и хорошо организованным. Позже в тот же день вам позвонит ваш начальник. Он потерял файлы, он потерял печатные версии, ему нужны электронные таблицы за прошлый месяц. Угадайте, кому в одночасье придется стать экспертом по восстановлению данных?

Проблема с отправкой файлов в корзину

Допустим, мы вас убедили, даже если этот сценарий к вам не относится. В вашей компании есть хорошие механизмы резервного копирования, верно?

Но теперь допустим, что вы отказываетесь от греха нажатия Shift + Delete. Все идет в виртуальную корзину. Нужен файл обратно? Вы можете восстановить его в считанные секунды.

Замечательно! Но как насчет освобождения места на жестком диске или SSD? Файлы в корзине по-прежнему занимают столько же места для хранения. Вы можете очистить мусор и освободить место в любое время - это правда. Вам, вероятно, никогда не понадобятся файлы, которые лежат там уже несколько недель. Но как насчет последних файлов, которые вы отправили в корзину десять минут назад? Нет никакого способа легко восстановить их сейчас.

Вывод состоит в том, что каждый файл должен быть «старым», прежде чем его можно будет выбросить. Если он находится в виртуальной корзине для мусора в течение нескольких недель, и вам не понадобилось восстанавливать его за это время, скорее всего, он вам больше не понадобится. В Linux есть утилита autotrash, которая может автоматизировать процесс удаления только старых файлов из корзины.

Запланируйте автоматический запуск autotrash при каждом входе в систему

Откройте ваш любимый эмулятор терминала и установите autotrash с помощью следующей команды:

$ sudo apt update && sudo apt install autotrash

установка autotrash

По запросу введите пользовательский пароль

ввод пароля

Далее введите следующую команду:

$ nano ~/.xsessionrc

В открывшемся текстовом редакторе вставьте строку ниже:

autotrash -d 30 &

редактирование файла .xsessionrc

Она удаляет файлы, которые находились в корзине более тридцати дней. Вы можете изменить число «30» по желанию. Знак «&» в конце убирает команду на задний план. Таким образом, если есть тысячи файлов, которые нужно удалить с помощью автоматической корзины, вам не нужно ждать завершения команды.

Нажмите Ctrl + X, чтобы выйти из редактора, «y», чтобы сохранить измененный файл, и Enter.

Необязательно: если вы также хотите регистрировать активность автоматической очистки в журнале systemd (если он есть в вашем дистрибутиве), вы можете вставить другую строку в .xsessionrc (но сначала удалите предыдущую):

systemd-cat -t autotrash -p info autotrash -v -d 30 &

регистрация активности автоматической очистки

Записи в журнале systemd, касающиеся autotrash, будут выглядеть следующим образом.

Записи в журнале systemd

Заключение

Теперь вы всегда можете отправлять файлы в корзину, а не навсегда удалить их. autotrash автоматически освободит место на ваших дисках. И у вас всегда будет 30-дневная возможность легко восстановить удаленные данные. Вы однажды поблагодарите себя за внедрение этой простой системы.