Fórum Root.cz
Hlavní témata => Server => Téma založeno: tacoberu 08. 01. 2020, 20:52:39
-
Právě jsem zjistil, že crontab ukládá nastavení do /var/spool/cron/crontabs/<uživatel>. Existuje nějaký důvod, proč to neukládá do domovského adresáře toho uživatele?
Když budu registrovat své cron joby, kam je nejlepší je dávat, do /etc, do /var, do /home? Má to nějakou logiku, kterou bych se měl naučit?
Díky.
-
Crontaby v domovském adresáři původně byly (velmi dávno), ale mělo to řadu nevýhod: adresář nemusí být pořád dostupný (třeba se připojuje jen po přihlášení uživatele), adresář může být naopak sdílený napříč systémy (nechci, aby se mi stejný crontab prováděl všude), procházení velkých disků s mnoha uživateli a adresáři by systému trvalo zbytečně dlouho (takhle je to na jednom místě na systémovém disku).
Druhou otázku nechápu. Můžeš to popsat nějak podrobněji?
-
Děkuji.
Druhou otázku nechápu. Můžeš to popsat nějak podrobněji?
Vlastně se ptám na best-practice. Částečně jsi mi už odpověděl.
Já jsme doteď cron joby vytvářel tak, že jsem si v /etc/crontab přidal řádku, která spouštěla script v /home/<uživatel>/.local/bin/script
Ale přijde mi, že to zřejmě nedělám dobře, že do toho /etc/crontabu patří jen nějaké systémové věci. Zatímco do toho /var/spool/cron/crontabs/<uživatel> ty pro uživatele, kdyby to byl root.
Chápu to dobře?
Nebo jsou ještě nějaká jiná doporučení?
-
systemove do /etc/cron.{d,daily,hourly,weekly,monthly}
uzivatelske pres nastroj crontab (nikoliv editace /etc/crontab)
-
Linux je víceuživatelský, proto je to tak vymyšleno a rozděleno. Do toho centrálního crontabu nemůže běžný uživatel (neroot) zasáhnout a ovlivnit ho. Ten prostě poběží bez ohledu na názory uživatelů. Naopak ty uživatelsky konfigurovatelné si může každý vytvářet vlastní, protože i to je někdy potřeba.
Pokud jsi jediným uživatelem toho systému a navždy to tak bude, je to z praktického hlediska celkem jedno. Ale obecné doporučení je: pokud se to týká systému → do systémového, pokud to má souvislost s daty konkrétního uživatele → do uživatelského.
-
Díky!