Protože jsem nedávno nastavoval zálohy pro NextCloud Například jsem si myslel, že by bylo dobré napsat další tutoriál o tom, jak provést MySQLdump bez hesla v Cronjob. Problém s výpisy MySQL je, že pokud příkaz spustíte bez poskytnutí souboru s hesly, vždy vás požádá o zadání hesla. To by bylo obtížné, pokud chcete tento příkaz spustit v Cronjob .
Tento proces je poměrně rychlý a snadný, takže vás provedu každým krokem.
Krok 1 - Vytvoření / úprava souboru my.cnf
V některých případech je tento soubor již na svém místě, pokud ne, stačí jej vytvořit.
sudo nano ~/.my.cnf
A nyní jednoduše vložte následující řádky a upravte je tak, aby obsahovaly vaše uživatelské jméno a heslo, samozřejmě.
[mysqldump] user = mysqluser password = yourpassword
V případě, že soubor již existuje a obsahuje data, stačí vložit tyto 3 řádky přímo pod něj.
Krok 2 – Úprava oprávnění
Nyní musíme upravit oprávnění.
chmod 600 ~/.my.cnf
Krok 3 – Vytvoření Cronjob
Nyní vytvoříme Cronjob. Pokud se chcete naučit základy toho, jak Cronjobs funguje, podívejte se na můj komplexní tutoriál na to.
Chcete-li upravit soubor Crontab, spusťte:
crontab -e
A chcete-li provádět MySQL Dump každý den ve 21:00, přidejte následující řádek dole. Chcete-li se dozvědět, jak fungují časy, podívejte se na můj další tutoriál.
0 21 * * * mysqldump -u mysqluser -h localhost – all-databases | gzip -9 > mysqldbbackup.sql.gz > /dev/null
Krok 4 (Volitelné) – Ruční spuštění MySQL Dump
Pokud chcete spustit MySQL Dump přímo, jednoduše spusťte:
mysqldump – single-transaction -h localhost -u mysqluser > /usr/share/mysqlbackups/mysqldbbackup.sql
A tady to máte. Takto spustíte MySQLdump bez hesla v Cronjob.