<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Linux on 5ok — sysadmin, devops, hosting</title><link>https://www.5ok.sk/tags/linux/</link><description>Recent content in Linux on 5ok — sysadmin, devops, hosting</description><generator>Hugo</generator><language>sk</language><lastBuildDate>Sat, 21 Mar 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://www.5ok.sk/tags/linux/index.xml" rel="self" type="application/rss+xml"/><item><title>Správa systémov</title><link>https://www.5ok.sk/sluzby/spr%C3%A1va-syst%C3%A9mov/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.5ok.sk/sluzby/spr%C3%A1va-syst%C3%A9mov/</guid><description>&lt;p&gt;Spravujeme Linuxové servery od roku 2003. Začínali sme správou ako zamestnanci, neskôr sme sa stretli tu. Dnes je pre nás sysadmin chlieb a víno.&lt;/p&gt;
&lt;h2 id="pre-koho-to-robíme"&gt;Pre koho to robíme&lt;/h2&gt;
&lt;p&gt;Pracujeme s firmami, ktoré majú &lt;strong&gt;vlastné servery alebo VPS&lt;/strong&gt; a niekto ich musí udržiavať. Typický klient má 5–50 strojov, beží na nich kombinácia webu, databáz, interných aplikácií. Zákazník spravidla nepotrebuje plnohodnotný sysadmin tím, ale potrebuje, aby niekto reagoval, držal nad infraštruktúrou pevnú ruku a riešil s ním jeho požiadavky.&lt;/p&gt;</description></item><item><title>systemd timers namiesto cronu</title><link>https://www.5ok.sk/blog/systemd-timers-namiesto-cronu/</link><pubDate>Sat, 21 Mar 2026 00:00:00 +0000</pubDate><guid>https://www.5ok.sk/blog/systemd-timers-namiesto-cronu/</guid><description>&lt;p&gt;Cron má jednu obrovskú výhodu: každý ho pozná. A jednu nevýhodu: keď zlyhá, dozviete sa to e-mailom na &lt;code&gt;root@localhost&lt;/code&gt;, ktorý nikto nečíta.&lt;/p&gt;
&lt;p&gt;systemd timers riešia presne toto.&lt;/p&gt;
&lt;h2 id="základ"&gt;Základ&lt;/h2&gt;
&lt;p&gt;Timer sa skladá z dvoch súborov — &lt;code&gt;.service&lt;/code&gt; (čo sa má spustiť) a &lt;code&gt;.timer&lt;/code&gt; (kedy).&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-ini" data-lang="ini"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# /etc/systemd/system/backup.service&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;[Unit]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="na"&gt;Description&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;Nočná záloha&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="na"&gt;After&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;network-online.target&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;[Service]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="na"&gt;Type&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;oneshot&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="na"&gt;ExecStart&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;/usr/local/bin/backup.sh&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-ini" data-lang="ini"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# /etc/systemd/system/backup.timer&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;[Unit]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="na"&gt;Description&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;Spusti zálohu každú noc&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;[Timer]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="na"&gt;OnCalendar&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;*-*-* 02:30:00&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="na"&gt;RandomizedDelaySec&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;15m&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="na"&gt;Persistent&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;true&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;[Install]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="na"&gt;WantedBy&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;timers.target&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;systemctl &lt;span class="nb"&gt;enable&lt;/span&gt; --now backup.timer
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;systemctl list-timers
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="čo-cron-nevie"&gt;Čo cron nevie&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;&lt;code&gt;Persistent=true&lt;/code&gt;&lt;/strong&gt; — ak bol stroj v čase spustenia vypnutý, úloha sa spustí hneď po štarte. Cron ju jednoducho preskočí.&lt;/p&gt;</description></item></channel></rss>