Skripty pro správu serveru
kucharka od pavlusa.com :-)
Zálohování souborů
#!/bin/bash
# Adresář pro zálohy
backup_dir="/path/to/backup"
# Adresář, který se má zálohovat
source_dir="/path/to/source"
# Název souboru zálohy
backup_file="backup_$(date +%Y%m%d_%H%M%S).tar.gz"
# Vytvoření adresáře pro zálohy, pokud neexistuje
mkdir -p "$backup_dir"
# Vytvoření archivu se zálohou
tar -czf "$backup_dir/$backup_file" "$source_dir"
echo "Záloha byla vytvořena: $backup_dir/$backup_file"
Automatické aktualizace
#!/bin/bash
# Aktualizace systému
apt-get update
apt-get upgrade -y
apt-get autoremove -y
# Restart služeb, pokud je potřeba
service apache2 restart
service mysql restart
echo "Systém byl aktualizován a služby restartovány."
Monitoring disku
#!/bin/bash
# Limit v procentech, při kterém má být odesláno upozornění
threshold=90
# Získání informací o využití disku
disk_usage=$(df -h | grep '/dev/sda1' | awk '{print $5}' | cut -d'%' -f1)
# Odeslání upozornění, pokud je využití disku vyšší než limit
if [ $disk_usage -gt $threshold ]; then
echo "Upozornění: Využití disku je vyšší než $threshold%."
# Zde můžete přidat další akce, například odeslání e-mailu administrátorovi
fi
Zálohování databáze MySQL
#!/bin/bash
# Adresář pro zálohy
backup_dir="/path/to/backup"
# Přihlašovací údaje k MySQL serveru
mysql_user="username"
mysql_password="password"
# Název databáze
database_name="databasename"
# Název souboru zálohy
backup_file="db_backup_$(date +%Y%m%d_%H%M%S).sql"
# Vytvoření adresáře pro zálohy, pokud neexistuje
mkdir -p "$backup_dir"
# Zálohování databáze
mysqldump -u "$mysql_user" -p"$mysql_password" "$database_name" > "$backup_dir/$backup_file"
echo "Záloha databáze byla vytvořena: $backup_dir/$backup_file"
Různé varianty pro mazání souborů
Mazání souborů starších než určitý počet dní
#!/bin/bash
# Adresář, ve kterém se mají soubory mazat
directory="/path/to/directory"
# Počet dnů, po kterých jsou soubory považovány za staré
days="7"
# Mazání souborů starších než určitý počet dnů
find "$directory" -type f -mtime +$days -exec rm {} \;
Mazání souborů větších než určitá velikost
#!/bin/bash
# Adresář, ve kterém se mají soubory mazat
directory="/path/to/directory"
# Velikost souborů, které mají být smazány (v MB)
size="100"
# Mazání souborů větších než určitá velikost
find "$directory" -type f -size +${size}M -exec rm {} \;
Mazání souborů podle jejich názvu
#!/bin/bash
# Adresář, ve kterém se mají soubory mazat
directory="/path/to/directory"
# Název souborů, které mají být smazány
file_pattern="*.log"
# Mazání souborů podle jejich názvu
find "$directory" -type f -name "$file_pattern" -exec rm {} \;
Mazání starých souborů, s výjimkou určitých souborů
#!/bin/bash
# Adresář, ve kterém se mají soubory mazat
directory="/path/to/directory"
# Počet dnů, po kterých jsou soubory považovány za staré
days="30"
# Mazání starých souborů, s výjimkou určitých souborů
find "$directory" -type f -mtime +$days ! -name "important_file.txt" -exec rm {} \;