Tento repozitář obsahuje kolekci automatizačních skriptů pro nasazení a správu aplikací na serverech OSCloud. Skripty jsou navrženy tak, aby umožnily snadnou a efektivní správu nasazování kódu z Gitea repozitářů na produkční servery. Obsahují procesy pro synchronizaci souborů pomocí rsync přes SSH, správu verzí a aktualizaci aplikací na vzdálených serverech.
Go to file
2024-07-07 07:41:46 +02:00
scripts Odstraněn cesta k logu 2024-07-07 07:41:46 +02:00
.gitignore Completely remove logs folder and update .gitignore, file update README.md 2024-06-14 07:27:05 +02:00
LICENSE Initial commit 2024-06-13 17:37:40 +00:00
README.md aktualizace README 2024-07-05 07:25:42 +02:00

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í

  1. 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í

  1. Upravte název archivu ve skriptu create_release.sh podle svých potřeb:
ARCHIVE_NAME="phanpy-cz"
  1. Spusťte skript create_release.sh:
./create_release.sh
  1. 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í

  1. 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í

  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.
  1. 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í

  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.
  1. 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í

  1. 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í

  1. Uložte skript do souboru, například update_fork.sh.
  2. 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

  1. Pro automatické spouštění skriptů můžete nastavit cron job:

    Otevřete crontab pro úpravy:

crontab -e
  1. 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.