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 {} \;