Авторский канал по разработке на Linux.
Ресурсы, обучения, задачи, шпаргалки.
Ежедневно информация пополняется!
Cотрудничество: @energy_c
Post #444
1.58K
- 👍 10
- 🔥 5
- ❤ 4
LI @linux_ready
Showing posts older than #446 · Back to latest
ls, grep, rm, но в повседневной работе редко задумываемся, что они могут быть вовсе не теми, за кого себя выдают. ~/.bashrc иногда превращают стандартные утилиты в нечто неожиданное.alias ls='ls --color=auto'
alias rm='rm -i'
alias grep='grep --color=auto'
#!/bin/bash
files=$(ls *.txt)
for f in $files; do
rm $f
done
~/.bashrc ещё один алиас:alias ls='ls -lh'
И так, вопрос: что произойдёт при втором запуске этого скрипта?
/usr/local/bin/backup.sh):sudo tee /usr/local/bin/backup.sh > /dev/null <<'EOF'
#!/bin/bash
LOG="/var/log/cron_backup.log"
mkdir -p "$(dirname "$LOG")"
echo "$(date -u +"%Y-%m-%dT%H:%M:%SZ") - backup run" >> "$LOG"
# сюда можно добавить реальные действия, например: rsync, tar и т.п.
EOF
sudo chmod +x /usr/local/bin/backup.sh
sudo /usr/local/bin/backup.sh
ls -l /usr/local/bin/backup.sh
tail -n 5 /var/log/cron_backup.log
( crontab -l 2>/dev/null; echo "0 2 * * * /usr/local/bin/backup.sh" ) | crontab -
# пример для /etc/cron.d/myjobs (требует root)
sudo tee /etc/cron.d/myjobs > /dev/null <<'EOF'
SHELL=/bin/bash
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
# m h dom mon dow user command
0 2 * * * root /usr/local/bin/backup.sh >> /var/log/cron_backup.log 2>&1
EOF
sudo chmod 644 /etc/cron.d/myjobs
journalctl -u cron --since "1 hour ago" -n 50 || journalctl -u crond --since "1 hour ago" -n 50
tail -n 50 /var/log/cron_backup.log
=






• Пишемlogrotate.sh— создаём папки для текущих и архивных логов;
• Переносим .log в архив с добавлением даты в имени;
• Удаляем архивы старше N дней с помощью find -mtime.

$ find . -type d -empty -exec rmdir -v {} +-type d ищет директории, -empty выбирает пустые, а -exec rmdir {} выполняет команду rmdir, чтобы удалить их.rmdir гарантирует, что директория пуста, прежде чем удалить её.$ find . -type d -empty -delete





В этом посте — 7 команд, которые помогут проверить сообщения ядра, загруженные модули, версию системы и состояние ресурсов. dmesg, journalctl, lsmod, uname и другие — всё, что нужно для базовой отладки при проблемах с загрузкой или драйверами.





Iptables позволяет фильтровать сетевой трафик на уровне ядра Linux. Это значит, что можно заблокировать доступ с конкретных IP-адресов ещё до того, как пакет дойдёт до приложений.• Проверяем текущее состояние iptables и список правил.
• Добавляем простое правило для блокировки конкретного IP.
• Разбираем разницу между DROP и ACCEPT.
• Сохраняем правила, чтобы они не пропали после перезагрузки.