automation-scripts/README.md

176 lines
5.7 KiB
Markdown
Raw Normal View History

# 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
2024-06-26 17:36:19 +00:00
### 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í
1. **Upravte následující proměnné ve skriptu `sync_gitea_to_github.sh` podle svých potřeb:**
2024-06-14 05:29:45 +00:00
- `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`).
2024-06-26 17:36:19 +00:00
### 2. create_release.sh
2024-06-17 17:20:39 +00:00
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í
1. **Upravte název archivu ve skriptu `create_release.sh` podle svých potřeb:**
```bash
ARCHIVE_NAME="phanpy-cz"
```
2. **Spusťte skript `create_release.sh`:**
```bash
./create_release.sh
```
3. **Výstup skriptu:**
Skript vytvoří archivy ve formátech `.tar.gz` a `.zip`, které budou přesunuty do adresáře `~/stažené`.
```bash
~/stažené/phanpy-cz.tar.gz
~/stažené/phanpy-cz.zip
```
2024-06-26 17:36:19 +00:00
### 3. update_system.sh
2024-06-17 17:20:39 +00:00
2024-06-19 17:54:01 +00:00
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í
1. **Spusťte skript `update_system.sh`:**
2024-06-21 11:55:06 +00:00
```bash
./update_system.sh
```
2024-06-19 17:54:01 +00:00
2024-06-26 17:36:19 +00:00
### 4. clean_logs.sh
2024-06-19 18:34:25 +00:00
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í
1. **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.
2. **Spusťte skript `clean_logs.sh`:**
```bash
./clean_logs.sh
```
2024-06-26 17:36:19 +00:00
### 5. backup_script.sh
2024-06-19 18:34:25 +00:00
2024-06-21 12:01:39 +00:00
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í
1. **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.
2. **Spusťte skript `backup_script.sh`:**
```bash
./backup_script.sh
```
2024-06-19 18:34:25 +00:00
2024-06-26 17:36:19 +00:00
### 6. check_backups.sh
2024-06-19 18:34:25 +00:00
2024-06-21 11:55:06 +00:00
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.
2024-06-19 18:34:25 +00:00
2024-06-21 11:55:06 +00:00
#### Použití
2024-06-19 18:34:25 +00:00
2024-06-21 11:55:06 +00:00
1. Spuštění skriptu:
2024-06-24 19:26:52 +00:00
```bash
./check_backups.sh
```
2024-06-26 17:36:19 +00:00
### 7. update_fork.sh
2024-06-23 10:33:09 +00:00
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í
2024-06-19 18:34:25 +00:00
2024-06-23 10:33:09 +00:00
1. Uložte skript do souboru, například `update_fork.sh`.
2. Nastavte oprávnění k spuštění pomocí příkazu:
2024-06-24 19:23:57 +00:00
2024-06-24 19:26:52 +00:00
```bash
2024-06-23 10:33:09 +00:00
chmod +x update_fork.sh
2024-06-24 19:26:52 +00:00
```
2024-07-05 05:25:42 +00:00
### 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í:
```bash
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
```bash
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:
2024-06-21 11:55:06 +00:00
```bash
/path/to/your/script.sh
```
## Nastavení Cron Jobu
1. Pro automatické spouštění skriptů můžete nastavit cron job:
Otevřete crontab pro úpravy:
```bash
2024-06-21 11:55:06 +00:00
crontab -e
```
2. Přidejte nový cron job, který bude spouštět skript podle potřeby. Například, pro spouštění skriptu každou hodinu:
```bash
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
2024-06-21 11:55:06 +00:00
Pro další informace nebo podporu kontaktujte správce projektu.