MXStat
MXStat
Введите текст для поиска
Расширенный поиск каналов
  • Вход на сайт
  • Каталог
    Каталог каналов Региональные подборки Поиск каналов
    Добавить канал
  • Рейтинги
    Рейтинг каналов Рейтинг публикаций
    Рейтинги брендов и персон
  • Аналитика
  • Поиск по публикациям
  • Мониторинг Max
Bash Советы - Bash Scripting | Linux Terminal & Shell. Скрипты и Автоматизация задач. Командная строка для Sysadmin и DevOps. Уроки Баш, Zsh и CLI Tools. Unix Console.

28 Aug, 09:36

Открыть в Max Поделиться

🗑️ Bash-совет дня: safe_rm - «корзина» для удаляемых файлов

Сколько раз вы случайно удаляли важный конфиг? Давайте сделаем rm более дружелюбным — вместо мгновенного уничтожения файлы будут складываться в «корзину» и автоматически очищаться спустя 30 дней.

#!/usr/bin/env bash
# safe_rm — перемещает удаляемые файлы в локальную «корзину»

TRASH_DIR="$HOME/.local/share/Trash/files" # куда складываем
mkdir -p "$TRASH_DIR"

stamp=$(date +%Y-%m-%d_%H-%M-%S)

for item in "$@"; do
if [[ ! -e $item ]]; then
printf '⚠️ %s: no such file or directory\n' "$item" >&2
continue
fi
mv -- "$item" "$TRASH_DIR/$(basename "$item")_$stamp"
done

# авто-очистка файлов, которым больше 30 дней
find "$TRASH_DIR" -type f -mtime +30 -delete 2>/dev/null

Быстрый старт

sudo install -m 755 safe_rm /usr/local/bin/
echo "alias rm='safe_rm'" >> ~/.bashrc && source ~/.bashrc

Проверяем

touch important.cfg
rm important.cfg
ls ~/.local/share/Trash/files # Файл на месте 🎉

Лайфхак:
• Хотите разные сроки хранения? Меняйте -mtime +30 на нужное количество дней.
• Регулярные выражения в find позволяют тоньше выбирать, что чистить (например, только логи *_$(date +%Y-%m-*)).

Спасайте нервы и конфиги! 😉

👉 @bash_srv

1.4k 26
Каталог
Каталог каналов Подборки каналов Поиск каналов Добавить канал
Рейтинги
Рейтинг каналов Max
Контакты
Написать в Max Написать в Telegram Написать на почту
Всякая всячина
Пользовательское соглашение Политика конфиденциальности
Наши каналы
MXStat в Telegram MXStat в Max
Наши боты
MXAuthBot MXAnalyticsBot
Made by TGStat