Автоматическая очистка файлов пользователя user

  1. Закинуть таймер cleanpc.timer и сервис cleanpc.service в папку /etc/systemd/system/
  2. Закинуть скрипт cleanpc.sh с кодом в папку  /root/
  3. Далее в консоли активируем таймер к сервису
    • systemctl daemon-reload
      systemctl enable cleanpc.timer
  4. Проверяем таймер
    • systemctl status cleanpc.timer

       

Настроить можно так: 

  • в файле cleanpc.sh изменить логин пользователя во всех строках rm -rf /home/user/.cache/* — заменить user на своего пользователя и т.д. Так же изменить каталоги, которые будут очищаться.
  • в файле cleanpc.timer изменить в строке OnUnitActiveSec=1month период очистки. Почитать про синтаксис можно тут: https://www.freedesktop.org/software/systemd/man/latest/systemd.time.html#

Аккуратнее — скрипт использует rm !

 

Скрипты:

  • cleanpc.sh
#!/bin/bash
rm -rf /home/user/.cache/*
rm -rf /home/user/Загрузки/*
rm -rf /home/user/Видео/*
rm -rf /home/user/Документы/*
rm -rf /home/user/Изображения/*
rm -rf /home/user/Музыка/*
rm -rf /home/user/Общедоступные/*
rm -rf /home/user/.local/share/Trash/{*,.*}
shopt -s extglob
rm -rf /home/user/!(Arduino|Загрузки|Видео|Документы|Изображения|Музыка|Общедоступные|"Рабочий стол"|Шаблоны)
  • cleanpc.service
[Unit]
Description=cleanpc
After=network-online.target

[Service]
ExecStart=/root/cleanpc.sh

[Install]
WantedBy=default.target
  • cleanpc.timer
[Unit]
Description=clean

[Timer]
OnUnitActiveSec=1month

[Install]
WantedBy=timers.target

 

Скажем дружное спасибо прыщедавителю @Uluscat


2 комментарий для “Очистка файлов пользователя раз в месяц (период указывается в таймере)”

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *