Это старая версия документа.
Содержание
Перед началом работы скрипта требуется установить несколько утилит:
sudo apt-get install bleachbit deborphan
bleachbit — подчищает за указанными приложениями т. е. удаляет историю посещенных страниц, cookies, временные файлы и т. п. deborphan — удаляет пакеты, которые не задействованы в системе т.е пакеты не находящиеся в зависимостях у иных пакетов.
sudo aptitude -y hold имя_пакета
Параметры bleachbit
Поскольку предполагается, что скрипт будет использоваться по расписанию (cron), то использовать графическую часть bleachbit нецелесообразно. К счастью утилита имеет консольный интерфейс. Узнаем для каких приложений поддерживается очистка:
bleachbit_cli -l
Видим (вывод команды сокращен):
vuze.cache vuze.logs vuze.tmp wine.tmp winetricks.temporary_files x11.debug_logs xchat.logs xine.cache yum.clean_all yum.vacuum
Например, чтобы очистить временные файлы Wine будет достаточно прописать:
bleachbit_cli -do wine.tmp
Редактируем часть с bleachbit в скрипте по своему усмотрению.
Скрипт очистки
Копируем текст в файл и не забываем сделать его исполняемым командой chmod +x. Запускаем в терминале ./имя_скрипта.
#!/bin/bash LOG="/root/Clean_system.log" GREEN="\033[1;32m" RED="\033[0;31m" YELLOW="\033[1;33m" ENDCOLOR="\033[0m" OLDCONF=$(dpkg -l|grep "^rc"|awk '{print $2}') CURKERNEL=$(uname -r|sed 's/-*[a-z]//g'|sed 's/-386//g') LINUXPKG="linux-(image|headers|ubuntu-modules|restricted-modules)" METALINUXPKG="linux-(image|headers|restricted-modules)-(generic|i386|server|common|rt|xen)" OLDKERNELS=$(dpkg -l|awk '{print $2}'|grep -E $LINUXPKG |grep -vE $METALINUXPKG|grep -v $CURKERNEL) if [ $USER != root ]; then echo -e $RED"Вы должны быть root" exit 0 fi echo "------------------------------------------------------------------------------" >> $LOG date >> $LOG echo "------------------------------------------------------------------------------" >> $LOG echo -e $YELLOW"Чистка пакетов запущена\n"$ENDCOLOR echo -e $YELLOW"Bleachbit - приложения"$ENDCOLOR bleachbit_cli -do bash.history \ deepscan.backup \ deepscan.ds_store \ deepscan.thumbs_db \ deepscan.tmp \ firefox.cache \ firefox.cookies \ firefox.download_history \ firefox.forms \ firefox.places \ firefox.session_restore \ firefox.url_history \ flash.cache \ flash.cookies \ gedit.recent_documents \ gimp.tmp \ gnome.run \ java.cache \ kde.cache \ kde.recent_documents \ kde.tmp \ nautilus.history \ openofficeorg.cache \ openofficeorg.recent_documents \ pidgin.cache \ pidgin.logs \ system.cache \ system.clipboard \ system.desktop_entry \ system.free_disk_space \ system.localizations \ system.memory \ system.recent_documents \ system.rotated_logs \ system.tmp \ system.trash \ thumbnails.cache \ wine.tmp \ winetricks.temporary_files \ x11.debug_logs 2>> $LOG echo -e $YELLOW"\nУдаление кэша apt..."$ENDCOLOR apt-get -y clean 2>> $LOG echo -e $YELLOW"Удаление частичных пакетов..."$ENDCOLOR apt-get -y autoclean 2>> $LOG echo -e $YELLOW"Удаление старых конфигов..."$ENDCOLOR apt-get -y purge $OLDCONF 2>> $LOG echo -e $YELLOW"Удаление незадействованных пакетов..."$ENDCOLOR deborphan | xargs apt-get -y purge 2>> $LOG echo -e $YELLOW"Удаление старых ядер..."$ENDCOLOR apt-get -y purge $OLDKERNELS 2>> $LOG echo -e $YELLOW"Чистим корзины пользователей..."$ENDCOLOR rm -rf /home/*/.local/share/Trash/*/** 2>> $LOG rm -rf /root/.local/share/Trash/*/** 2>> $LOG echo -e $GREEN"------------------------------------------------------------------------------"$ENDCOLOR >> $LOG echo -e $RED"Очистка завершена!"$ENDCOLOR >> $LOG echo -e $GREEN"------------------------------------------------------------------------------"$ENDCOLOR >> $LOG cat "$LOG" echo -e $GREEN"------------------------------------------------------------------------------"$ENDCOLOR >> $LOG
Запуск скрипта по расписанию
Чистка ежедневно в 6:25 утра:
25 6 * * * root путь_к_скрипту
Чистка при каждом входе в систему:
@reboot root путь_к_скрипту