вторник, 10 апреля 2018 г.

Вариант автоматизации автоочистки Linux Mint и Ubuntu


В Linux Mint и Ubuntu, в отличие от Windows, требующей после процедур удаления ПО для своей последующей чистки использования специального ПО (например, CCleaner) произвести очистку системы от ненужных пакетов программ можно двумя командами терминала:

sudo apt autoclean и sudo apt autoremove.

Пример, демонстрирующий желательность осуществления таких действий на периодической основе, показан в этой заметке.

Но, как говорится, человеку свойственно забывать. Следствием моей забывчивости является "обрастание" системы потерявшими актуальность пакетами программ. Поэтому со временем у меня возникла мысль о возможности автоматизации данной процедуры.

Предлагаемый вариант автоматизации представляет из себя запуск двух исполняемых файлов (скриптов sh) с определённой периодичностью. Другими словами, запуск заданий автоматической очистки от ненужных пакетов программ будет осуществляться по заданию cron.

Как сделать своё задание cron описано в этой публикации. Далее предполагается, что Вами усвоены инструменты редактирования заданий cron и имеется представление о том, как добавить задание в планировщик cron.

Создаются два исполняемых файла, например, autoclean.sh и autoremove.sh

#!/bin/bash
apt autoclean
sleep 15 && exit

#!/bin/bash
apt autoremove -y
sleep 15 && exit

Так как задания будут выполняться от имени root, то в строку выполняемый команды добавлять sudo не требуется. -y является указанием на то, что в процессе выполнения команды вопросы не будут отображаться, так как на них предусматривается ответ "Да". exit представляет из себя команду завершения работы скрипта, а sleep 15 – 15-ти секундную паузу "на всякий случай".

Мной было определено, что эти файлы будут расположены в каталоге /usr/share, поэтому, используя файловый менеджер под правами суперпользователя или Midnight Commander (sudo mc), перемещаю файлы в выбранный каталог.

Далее составляется задание – sudo crontab -e

Примечание. Для редактирования задания в Linux Mint с помощью встроенного редактора Midnight Commander следует использовать команду: 

  sudo EDITOR=mcedit crontab -e

Мной было принято решение о запуске файлов 28-го числа каждого месяца в 21 час 10 минут и 21 час 15 минут, поэтому вношу следующие строки:

10 21 28 * * /usr/share/autoclean.sh
15 21 28 * * /usr share/autoremove.sh

Для корректного назначения задания после внесения второй строки необходимо добавить пустую строку, иначе файл заданий записан не будет.

После этого в перечне пользовательских заданий cron появится файл root. Файл будет расположен в каталоге /var/spool/cron/crontabs:


Комментариев нет:

Отправить комментарий