5.7 KiB
Automatizační skripty
Tento repozitář obsahuje různé automatizační skripty, které slouží ke zjednodušení a automatizaci úloh v rámci našich projektů.
Skripty
1. sync_gitea_to_github.sh
Skript sync_gitea_to_github.sh je určen pro synchronizaci změn z repozitáře na Gitea do repozitáře na GitHub. Tento skript zajistí, že veškeré změny provedené v repozitáři na Gitea budou automaticky přeneseny do odpovídajícího repozitáře na GitHubu.
Nastavení a použití
- Upravte následující proměnné ve skriptu
sync_gitea_to_github.shpodle svých potřeb:
GITHUB_REPO- URL GitHub repozitáře.GITEA_REPO- URL Gitea repozitáře.REPO_DIR- Cesta k lokálnímu klonu repozitáře.LOG_FILE- Cesta k log souboru (/path/to/your/logs/sync_gitea_to_github.log).
2. create_release.sh
Skript create_release.sh je určen pro vytváření archívů projektu a jejich přesun do specifikovaného adresáře. Tento skript vytvoří archivy ve formátech .tar.gz a .zip, vyloučí specifikované soubory a přesune archivy do adresáře ~/stažené.
Použití
- Upravte název archivu ve skriptu
create_release.shpodle svých potřeb:
ARCHIVE_NAME="phanpy-cz"
- Spusťte skript
create_release.sh:
./create_release.sh
- Výstup skriptu:
Skript vytvoří archivy ve formátech .tar.gz a .zip, které budou přesunuty do adresáře ~/stažené.
~/stažené/phanpy-cz.tar.gz
~/stažené/phanpy-cz.zip
3. update_system.sh
Skript update_system.sh je určen pro pravidelnou aktualizaci systémových balíčků. Tento skript aktualizuje balíčky a ukládá výsledky do log souboru.
Použití
- Spusťte skript
update_system.sh:
./update_system.sh
4. clean_logs.sh
Skript clean_logs.sh je určen pro pravidelné čištění log souborů starších než zadaný počet dní. Tento skript vymaže všechny log soubory ve specifikovaném adresáři, které jsou starší než zadaný počet dní.
Použití
- Upravte následující proměnné ve skriptu
clean_logs.shpodle svých potřeb:
LOG_DIR- Cesta k adresáři s log soubory.LOG_FILE- Cesta k log souboru (/path/to/your/logs/clean_logs.log).DAYS_TO_KEEP- Počet dní, po které budou log soubory uchovávány.
-
Spusťte skript
clean_logs.sh:./clean_logs.sh
5. backup_script.sh
Skript backup_script.sh je určen pro zálohování důležitých dat z uživatelského domovského adresáře pomocí rsync a BorgBackup. Tento skript kombinuje robustnost BorgBackup pro efektivní a bezpečné archivování s datovou deduplikací a rychlost rsync pro synchronizaci souborů.
Nastavení a použití
- Upravte následující proměnné ve skriptu
backup_script.shpodle svých potřeb:
EXTERNAL_DRIVE- Cesta k externímu disku.MOUNT_POINT- Bod připojení pro externí disk.BACKUP_DIR- Cesta k adresáři pro ukládání záloh na připojeném disku.BORG_SCRIPT- Cesta k skriptu BorgBackup, který spravuje zálohy Borg.
-
Spusťte skript
backup_script.sh:./backup_script.sh
6. check_backups.sh
Skript check_backups.sh slouží k manuální kontrole záloh pomocí nástrojů BorgBackup a Rsync. Umožňuje rychle ověřit, zda byly zálohy úspěšně provedeny a zda počet souborů a složek v zdrojovém a cílovém adresáři odpovídá očekáváním.
Použití
- Spuštění skriptu:
./check_backups.sh
7. update_fork.sh
Skript update_fork.sh slouží k aktualizaci vašeho forku repozitáře Phanpy s nejnovějšími změnami z originálního repozitáře. Tento proces zahrnuje přidání upstream repozitáře (pokud ještě není nastaven), stahování změn z tohoto repozitáře, sloučení těchto změn do vaší hlavní větve a následný push změn zpět do vašeho repozitáře na GitHubu.
Použití
- Uložte skript do souboru, například
update_fork.sh. - Nastavte oprávnění k spuštění pomocí příkazu:
chmod +x update_fork.sh
8. backup_to_hetzner.sh
Skript backup_to_hetzner.sh automatizuje proces přenosu záloh z lokálního úložiště na Hetzner Storage Box.
Příprava logovacího souboru
Před prvním spuštěním skriptu je třeba vytvořit logovací soubor a nastavit patřičná oprávnění:
sudo touch /var/log/backup_transfer.log
sudo chown $USER:$USER /var/log/backup_transfer.log
sudo chmod 644 /var/log/backup_transfer.log
Detaily skriptu
Skript vykonává následující akce:
- Kontroluje, zda logovací soubor existuje, a pokud ne, vytvoří ho.
- Používá rsync pro synchronizaci dat z lokálního zdroje na vzdálený cíl.
- Zaznamenává výsledek operace do logovacího souboru.
Nastavení Cron Jobu
crontab -e
0 2 * * * /usr/local/bin/backup_to_hetzner.sh
Logy
Logy ze skriptů jsou ukládány do souboru /path/to/your/logs/nazev_skriptu.log.
Spouštění skriptů
Spouštějte skripty přímo ve složce, kde máte nastaveny všechny cesty:
```bash
/path/to/your/script.sh
```
Nastavení Cron Jobu
-
Pro automatické spouštění skriptů můžete nastavit cron job:
Otevřete crontab pro úpravy:
crontab -e
- Přidejte nový cron job, který bude spouštět skript podle potřeby. Například, pro spouštění skriptu každou hodinu:
0 * * * * /path/to/your/script.sh
Budoucí rozšíření
Tento repozitář bude v budoucnu rozšiřován o další automatizační skripty, které budou přidány podle potřeb projektu.
Kontakt
Pro další informace nebo podporu kontaktujte správce projektu.