Systemd este managerul de servicii și inițializare standard pe toate distribuțiile Linux majore: Ubuntu, Debian,…

Cum să automatizezi sarcinile de server cu scripturi Bash
De ce automatizarea este esențială pentru administrarea serverelor. Cum să automatizezi sarcinile de server cu scripturi Bash.
Administrarea unui server Linux implică sarcini repetitive: backup-uri, actualizări, monitorizare, curățarea logurilor, verificarea serviciilor. Executarea manuală a acestor sarcini nu doar că ocupă timp prețios, dar introduce și riscul erorii umane.
Un administrator care uită să facă backup-ul sau nu observă un disc plin poate provoca pierderi de date sau întreruperi ale serviciilor.
Cum să automatizezi sarcinile de server cu scripturi Bash
Scripturile Bash permit automatizarea tuturor acestor sarcini. Bash (Bourne Again Shell) este shell-ul implicit pe majoritatea distribuțiilor Linux și oferă un limbaj de scripting puternic, capabil să combine comenzi de sistem, condiții logice, bucle și funcții într-un flux de lucru automatizat.
Structura de bază a unui script Bash
Fiecare script Bash începe cu linia shebang care specifică interpretorul:
#!/bin/bash– prima linie a oricărui script Bash- Fă scriptul executabil cu
chmod +x script.sh - Rulează-l cu
./script.shsaubash script.sh
Variabile și parametri
Variabilele în Bash nu necesită declarare de tip:
BACKUP_DIR="/var/backups"– definirea unei variabile$1, $2, $3– parametrii poziționali primiți la apel$?– codul de ieșire al ultimei comenzi (0 = succes)$(date +%Y-%m-%d)– substituția comenzilor – capturează output-ul unei comenzi
Condiții și bucle
Structurile de control permit logică complexă:
if [ -f "/path/file" ]; then ... fi– verifică dacă un fișier existăif [ -d "/path/dir" ]; then ... fi– verifică dacă un director existăfor file in /var/log/*.log; do ... done– iterează peste fișierewhile read line; do ... done < fisier.txt– procesează un fișier linie cu linie
Scripturi practice pentru administrarea serverului
Script de backup automat
Un script de backup eficient pentru un server VPS ar trebui să includă:
- Crearea unui director cu data curentă pentru organizarea backup-urilor
- Export-ul bazelor de date MySQL/MariaDB cu
mysqldump - Arhivarea fișierelor site-urilor cu
tar -czf - Ștergerea backup-urilor mai vechi de un număr specificat de zile cu
find /backups -mtime +30 -delete - Trimiterea unei notificări prin email cu rezultatul operațiunii
- Logarea fiecărei operațiuni cu timestamp pentru depanare ulterioară
Script de monitorizare a resurselor
Monitorizarea proactivă previne problemele înainte ca acestea să devină critice:
- Verificarea utilizării discului cu
df -hși alertare când depășește 85% - Monitorizarea RAM-ului cu
free -mși identificarea consumului excesiv - Verificarea load average-ului cu
uptimeși compararea cu numărul de core-uri CPU - Verificarea statusului serviciilor critice (Nginx, MySQL, PHP-FPM) cu
systemctl is-active - Repornirea automată a serviciilor căzute și notificarea administratorului
Script de securitate și curățare
Mentenanța regulată a securității include:
- Verificarea încercărilor eșuate de autentificare SSH din
/var/log/auth.log - Rotirea și comprimarea fișierelor de log vechi
- Verificarea permisiunilor fișierelor sensibile (
wp-config.php, fișiere.env) - Scanarea fișierelor modificate recent în directoarele web pentru detectarea compromiterilor
- Actualizarea automată a pachetelor de securitate cu
apt upgrade -y
Programarea execuției cu Cron
Scripturile Bash devin cu adevărat utile când sunt programate să ruleze automat prin cron:
- Editează crontab-ul cu
crontab -e - Sintaxa cron:
minut oră zi-lună lună zi-săptămână comandă
Exemple practice de programare:
0 2 * * * /scripts/backup.sh– backup zilnic la ora 2:00*/5 * * * * /scripts/monitorizare.sh– verificare la fiecare 5 minute0 0 * * 0 /scripts/curatare.sh– curățare săptămânală duminica la miezul nopții0 3 1 * * /scripts/raport-lunar.sh– raport în prima zi a fiecărei luni
Important: adaugă redirecționarea output-ului către un fișier de log: /scripts/backup.sh >> /var/log/backup.log 2>&1 pentru a putea depana problemele.
Bune practici pentru scripturi Bash de producție
Gestionarea erorilor
- Folosește
set -euo pipefailla începutul scriptului – oprește execuția la prima eroare - Verifică codul de ieșire al fiecărei comenzi critice
- Implementează o funcție de cleanup cu
trapcare se execută și la erori
Logare și notificări
- Creează o funcție de logging care adaugă automat timestamp-ul
- Trimite notificări prin email sau Slack la erori critice
- Păstrează log-uri separate pentru fiecare script
Securitate
- Nu stoca parole direct în scripturi – folosește fișiere de configurare cu permisiuni restrictive (chmod 600)
- Validează toți parametrii de intrare pentru a preveni injecția de comenzi
- Rulează scripturile cu privilegii minime necesare
Automatizarea prin scripturi Bash transformă administrarea serverului dintr-o serie de sarcini manuale repetitive într-un sistem fiabil și eficient. Investiția inițială în scrierea scripturilor se recuperează rapid prin economisirea timpului, reducerea erorilor și îmbunătățirea securității. Începe cu scripturile de backup și monitorizare – sunt cele mai importante și aduc beneficii imediate.
Ai nevoie de ajutor cu automatizarea sarcinilor pe serverul tău Linux? Contactează echipa de suport și te ajutăm să implementezi soluțiile potrivite.


