scripts | ||
.gitignore | ||
LICENSE | ||
README.md |
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.sh
podle 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.sh
podle 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.sh
podle 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.sh
podle 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.