Spuštění PHP skriptu zcela mimo routování
- milanb
- Člen | 64
Ahoj,
mám skript na zálohování DB backup.php který nechci umístit do /www, a
není to ani sránka aplikace. Chci ho spouštět pravidelně pomocí cron na
hostingu. Jak to můžu udělat? Nette je 3.2. A ideálně, kdybych u toho
mohl přečíst údaje o přístupu k databázi z /app/config/config.neon.
Děkuji.
- Marek Bartoš
- Nette Blogger | 1177
Úplně stejně jako spouštíš aplikaci přes www/index.php
Ve skriptu si přes bootstrap vytvoříš DI container, z něj získáš
službu a zavoláš na ní metodu.
Umístit ho můžeš kamkoli, ale obvykle se pro to vytváří složka bin
Cestu ke skriptu pak už jen nastavíš v hostingové konfiguraci cronů
(crontab, pokud k němu máš přístup)
Zálohování databáze by ale za tebe měl dělat hosting. Mají pro to mnohem snadnější možnosti a hlavně bezpečnější. Když bude zálohobání závislé na aplikaci a v aplikaci se objeví bezpečnostní díra, tak můžeš přijít i o zálohy.
Editoval Marek Bartoš (29. 3. 21:25)
- Marek Bartoš
- Nette Blogger | 1177
Jiný hosting? Pokud to nejde změnit.
Container vytvoříš úplně stejně jako ve www/index.php. nemusíš nic měnit.
Jen si místo Application získáš svoji třídu pro zálohování databáze a zavoláš na ní metodu.
Nepotřebuješ routovat presenter, a tak ani routing.
Editoval Marek Bartoš (29. 3. 22:14)
- Marek Bartoš
- Nette Blogger | 1177
Víceméně totéž, co je popsané tady https://github.com/…cs/README.md#…
Můžeš případně použít přímo ten balík, kdybys chtěl crony spravovat z aplikace. Ale je potřeba mít na hostingu povolené proc_* funkce, aby se to chovalo stejně jako crontab sám o sobě
- Kamil Valenta
- Člen | 762
milanb napsal(a):
Tak hosting dělá zálohu týdně, to je málo.
Už to tu zaznělo, ale ta naléhavost je docela zásadní. Pokud někde vzniká záloha 1× týdně, bude to jen špička ledovce a bude tam punkové kde co. Jaký je důvod nejít jinam?
- Marek Bartoš
- Nette Blogger | 1177
Vykašli se na wedos. Třeba váš hosting je stokrát lepší a ten ušetřený čas ti hosting zaplatí.