538 lines
28 KiB
HTML
538 lines
28 KiB
HTML
<?xml version="1.0" encoding="utf-8"?>
|
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
|
|
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
|
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
|
<head>
|
|
<!-- 2022-05-09 lun. 10:04 -->
|
|
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
|
<title>=systemd= services and timers</title>
|
|
<meta name="author" content="Dehaeze Thomas" />
|
|
<meta name="generator" content="Org Mode" />
|
|
<link rel="stylesheet" type="text/css" href="./dist/style.css"/>
|
|
<script type="text/javascript" src="./dist/script.js"></script>
|
|
</head>
|
|
<body>
|
|
<div id="org-div-home-and-up">
|
|
<a accesskey="h" href="./index.html"> UP </a>
|
|
|
|
|
<a accesskey="H" href="./index.html"> HOME </a>
|
|
</div><div id="content" class="content">
|
|
<h1 class="title"><code>systemd</code> services and timers</h1>
|
|
<div id="table-of-contents" role="doc-toc">
|
|
<h2>Table of Contents</h2>
|
|
<div id="text-table-of-contents" role="doc-toc">
|
|
<ul>
|
|
<li><a href="#orgbd1ef92"><code>braingit</code> - Automatic commit and push new brain pages</a>
|
|
<ul>
|
|
<li><a href="#orgea157a9">Service</a></li>
|
|
<li><a href="#org37b5dfc">Timer</a></li>
|
|
<li><a href="#org4da53fa">Script</a></li>
|
|
</ul>
|
|
</li>
|
|
<li><a href="#org0122dc5"><code>checkmail</code> - Check new mails</a>
|
|
<ul>
|
|
<li><a href="#org6104a46">Service</a></li>
|
|
<li><a href="#orgc84b1eb">Timer</a></li>
|
|
<li><a href="#org8c26f1e">Script</a></li>
|
|
</ul>
|
|
</li>
|
|
<li><a href="#org290b78f"><code>syncmail</code> - Synchronize all mails</a>
|
|
<ul>
|
|
<li><a href="#orgefd8c7b">Service</a></li>
|
|
<li><a href="#org9594653">Timer</a></li>
|
|
</ul>
|
|
</li>
|
|
<li><a href="#orgc224066"><code>vdirsyncer</code> - Synchronize calendar and contacts</a>
|
|
<ul>
|
|
<li><a href="#orgb44b558">Service</a></li>
|
|
<li><a href="#org088f759">Timer</a></li>
|
|
</ul>
|
|
</li>
|
|
<li><a href="#org632bc1c"><code>ssh-agent</code> - SSH Agent</a>
|
|
<ul>
|
|
<li><a href="#org9a8f7fb">Service</a></li>
|
|
</ul>
|
|
</li>
|
|
<li><a href="#orga057b5a"><code>emacs</code> - Emacs</a>
|
|
<ul>
|
|
<li><a href="#org4b91453">Service</a></li>
|
|
</ul>
|
|
</li>
|
|
<li><a href="#orge6f4a6a"><code>trash-empty</code> - Empty the trash for files older than 30 days</a>
|
|
<ul>
|
|
<li><a href="#orgfa6b7df">Service</a></li>
|
|
<li><a href="#org17be1c1">Timer</a></li>
|
|
</ul>
|
|
</li>
|
|
<li><a href="#orga1ff028"><code>syncthing</code></a>
|
|
<ul>
|
|
<li><a href="#orgcbf786a">Service</a></li>
|
|
</ul>
|
|
</li>
|
|
<li><a href="#orgefe060e"><code>homelab-tunnel</code> - SSH Tunnel</a>
|
|
<ul>
|
|
<li><a href="#org1be238b">Service</a></li>
|
|
</ul>
|
|
</li>
|
|
<li><a href="#orgd4332cd"><code>esrf-tunnel</code> - SSH Tunnel</a>
|
|
<ul>
|
|
<li><a href="#org02bdf60">Service</a></li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
<p>
|
|
<a href="https://www.digitalocean.com/community/tutorials/how-to-use-systemctl-to-manage-systemd-services-and-units">https://www.digitalocean.com/community/tutorials/how-to-use-systemctl-to-manage-systemd-services-and-units</a>
|
|
</p>
|
|
|
|
<div id="outline-container-orgbd1ef92" class="outline-2">
|
|
<h2 id="orgbd1ef92"><code>braingit</code> - Automatic commit and push new brain pages</h2>
|
|
<div class="outline-text-2" id="text-orgbd1ef92">
|
|
</div>
|
|
<div id="outline-container-orgea157a9" class="outline-3">
|
|
<h3 id="orgea157a9">Service</h3>
|
|
<div class="outline-text-3" id="text-orgea157a9">
|
|
<div class="org-src-container">
|
|
<pre class="src src-conf">[<span class="org-type">Unit</span>]
|
|
<span class="org-variable-name">Description</span>=Sync Brain Website everyday
|
|
<span class="org-variable-name">RefuseManualStart</span>=no
|
|
<span class="org-variable-name">RefuseManualStop</span>=yes
|
|
|
|
[<span class="org-type">Service</span>]
|
|
<span class="org-variable-name">Type</span>=oneshot
|
|
<span class="org-variable-name">ExecStart</span>=%h/.local/bin/brain_git_push
|
|
</pre>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div id="outline-container-org37b5dfc" class="outline-3">
|
|
<h3 id="org37b5dfc">Timer</h3>
|
|
<div class="outline-text-3" id="text-org37b5dfc">
|
|
<div class="org-src-container">
|
|
<pre class="src src-conf">[<span class="org-type">Unit</span>]
|
|
<span class="org-variable-name">Description</span>=Sync Brain Website everyday
|
|
<span class="org-variable-name">RefuseManualStart</span>=no
|
|
<span class="org-variable-name">RefuseManualStop</span>=no
|
|
<span class="org-variable-name">Wants</span>=network-online.target
|
|
<span class="org-variable-name">After</span>=network-online.target
|
|
|
|
[<span class="org-type">Timer</span>]
|
|
<span class="org-variable-name">OnCalendar</span>=*-*-* <span class="org-highlight-numbers-number">16</span>:<span class="org-highlight-numbers-number">00</span>:<span class="org-highlight-numbers-number">00</span>
|
|
<span class="org-variable-name">Persistent</span>=true
|
|
<span class="org-variable-name">Unit</span>=braingit.service
|
|
|
|
[<span class="org-type">Install</span>]
|
|
<span class="org-variable-name">WantedBy</span>=default.target
|
|
</pre>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div id="outline-container-org4da53fa" class="outline-3">
|
|
<h3 id="org4da53fa">Script</h3>
|
|
<div class="outline-text-3" id="text-org4da53fa">
|
|
<div class="org-src-container">
|
|
<pre class="src src-bash"><span class="org-type">cd</span> ~/Cloud/programming/brain-website/
|
|
|
|
<span class="org-keyword">if</span> <span class="org-rainbow-delimiters-depth-1">[</span><span class="org-rainbow-delimiters-depth-2">[</span> <span class="org-negation-char">!</span> -z $<span class="org-rainbow-delimiters-depth-3">(</span><span class="org-sh-quoted-exec">git</span> status -s content/<span class="org-rainbow-delimiters-depth-3">)</span> <span class="org-rainbow-delimiters-depth-2">]</span><span class="org-rainbow-delimiters-depth-1">]</span>
|
|
<span class="org-keyword">then</span>
|
|
<span class="org-type">git</span> add content static && <span class="org-sh-escaped-newline">\</span>
|
|
<span class="org-type">git</span> commit -m <span class="org-string">"Update Content - </span><span class="org-string"><span class="org-sh-quoted-exec">$(</span></span><span class="org-sh-quoted-exec">date</span><span class="org-string"><span class="org-sh-quoted-exec"> +%F)</span></span><span class="org-string">"</span> && <span class="org-sh-escaped-newline">\</span>
|
|
<span class="org-type">git</span> push
|
|
<span class="org-keyword">exit</span>
|
|
<span class="org-keyword">fi</span>
|
|
</pre>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div id="outline-container-org0122dc5" class="outline-2">
|
|
<h2 id="org0122dc5"><code>checkmail</code> - Check new mails</h2>
|
|
<div class="outline-text-2" id="text-org0122dc5">
|
|
</div>
|
|
<div id="outline-container-org6104a46" class="outline-3">
|
|
<h3 id="org6104a46">Service</h3>
|
|
<div class="outline-text-3" id="text-org6104a46">
|
|
<div class="org-src-container">
|
|
<pre class="src src-conf">[<span class="org-type">Unit</span>]
|
|
<span class="org-variable-name">Description</span>=Check new mails
|
|
<span class="org-variable-name">RefuseManualStart</span>=no
|
|
<span class="org-variable-name">RefuseManualStop</span>=yes
|
|
|
|
[<span class="org-type">Service</span>]
|
|
<span class="org-variable-name">Type</span>=oneshot
|
|
<span class="org-variable-name">ExecStart</span>=%h/.local/bin/checkmail -q
|
|
</pre>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div id="outline-container-orgc84b1eb" class="outline-3">
|
|
<h3 id="orgc84b1eb">Timer</h3>
|
|
<div class="outline-text-3" id="text-orgc84b1eb">
|
|
<div class="org-src-container">
|
|
<pre class="src src-conf">[<span class="org-type">Unit</span>]
|
|
<span class="org-variable-name">Description</span>=Check Mail every x minutes
|
|
<span class="org-variable-name">RefuseManualStart</span>=no
|
|
<span class="org-variable-name">RefuseManualStop</span>=no
|
|
<span class="org-variable-name">Wants</span>=network-online.target
|
|
<span class="org-variable-name">After</span>=network-online.target
|
|
<span class="org-variable-name">Requires</span>=checkmail.service
|
|
|
|
[<span class="org-type">Timer</span>]
|
|
<span class="org-variable-name">Persistent</span>=false
|
|
<span class="org-variable-name">OnBootSec</span>=2min
|
|
<span class="org-variable-name">OnUnitActiveSec</span>=5min
|
|
<span class="org-variable-name">AccuracySec</span>=2min
|
|
<span class="org-variable-name">Unit</span>=checkmail.service
|
|
|
|
[<span class="org-type">Install</span>]
|
|
<span class="org-variable-name">WantedBy</span>=default.target
|
|
</pre>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div id="outline-container-org8c26f1e" class="outline-3">
|
|
<h3 id="org8c26f1e">Script</h3>
|
|
<div class="outline-text-3" id="text-org8c26f1e">
|
|
<div class="org-src-container">
|
|
<pre class="src src-bash"><span class="org-keyword">while</span> <span class="org-rainbow-delimiters-depth-1">[</span> -n <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">1</span></span><span class="org-string">"</span> <span class="org-rainbow-delimiters-depth-1">]</span>; <span class="org-keyword">do</span> <span class="org-comment-delimiter"># </span><span class="org-comment">while loop starts</span>
|
|
<span class="org-keyword">case</span> <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">1</span></span><span class="org-string">"</span><span class="org-keyword"> in</span>
|
|
-a) <span class="org-variable-name">opt_all</span>=<span class="org-string">'--all'</span> ;; <span class="org-comment-delimiter"># </span><span class="org-comment">Check All inboxes</span>
|
|
-v) <span class="org-variable-name">opt_verbose</span>=<span class="org-string">'--verbose'</span> ;; <span class="org-comment-delimiter"># </span><span class="org-comment">Verbose</span>
|
|
-q) <span class="org-variable-name">opt_quiet</span>=<span class="org-string">'--quiet'</span> ;; <span class="org-comment-delimiter"># </span><span class="org-comment">Quiet</span>
|
|
*) <span class="org-type">echo</span> <span class="org-string">"Option </span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">1</span></span><span class="org-string"> not recognized"</span> ;; <span class="org-comment-delimiter"># </span><span class="org-comment">In case you typed a different option</span>
|
|
<span class="org-keyword">esac</span>
|
|
<span class="org-builtin">shift</span>
|
|
<span class="org-keyword">done</span>
|
|
|
|
|
|
<span class="org-comment-delimiter"># </span><span class="org-comment">=============================================================</span>
|
|
<span class="org-comment-delimiter"># </span><span class="org-comment">Count number of mails</span>
|
|
<span class="org-variable-name">gmail_old</span>=<span class="org-string">"</span><span class="org-string"><span class="org-sh-quoted-exec">$(</span></span><span class="org-sh-quoted-exec">ls</span><span class="org-string"><span class="org-sh-quoted-exec"> ~/.mail/gmail/Inbox/new | wc -l)</span></span><span class="org-string">"</span>
|
|
<span class="org-variable-name">esrf_old</span>=<span class="org-string">"</span><span class="org-string"><span class="org-sh-quoted-exec">$(</span></span><span class="org-sh-quoted-exec">ls</span><span class="org-string"><span class="org-sh-quoted-exec"> ~/.mail/esrf/Inbox/new | wc -l)</span></span><span class="org-string">"</span>
|
|
<span class="org-comment-delimiter"># </span><span class="org-comment">=============================================================</span>
|
|
|
|
<span class="org-comment-delimiter"># </span><span class="org-comment">=============================================================</span>
|
|
<span class="org-comment-delimiter"># </span><span class="org-comment">Retreive mails</span>
|
|
mbsync $<span class="org-variable-name">opt_all</span> $<span class="org-variable-name">opt_verbose</span> gmail-Home esrf-Home <span class="org-highlight-numbers-number">2</span>>/tmp/mbsync.log
|
|
<span class="org-comment-delimiter"># </span><span class="org-comment">=============================================================</span>
|
|
|
|
<span class="org-comment-delimiter"># </span><span class="org-comment">=============================================================</span>
|
|
<span class="org-comment-delimiter"># </span><span class="org-comment">Count number of mails</span>
|
|
<span class="org-variable-name">gmail_new</span>=<span class="org-string">"</span><span class="org-string"><span class="org-sh-quoted-exec">$(</span></span><span class="org-sh-quoted-exec">ls</span><span class="org-string"><span class="org-sh-quoted-exec"> ~/.mail/gmail/Inbox/new | wc -l)</span></span><span class="org-string">"</span>
|
|
<span class="org-variable-name">esrf_new</span>=<span class="org-string">"</span><span class="org-string"><span class="org-sh-quoted-exec">$(</span></span><span class="org-sh-quoted-exec">ls</span><span class="org-string"><span class="org-sh-quoted-exec"> ~/.mail/esrf/Inbox/new | wc -l)</span></span><span class="org-string">"</span>
|
|
<span class="org-comment-delimiter"># </span><span class="org-comment">=============================================================</span>
|
|
|
|
<span class="org-comment-delimiter"># </span><span class="org-comment">=============================================================</span>
|
|
<span class="org-comment-delimiter"># </span><span class="org-comment">Total Number of new mails since last checking</span>
|
|
<span class="org-variable-name">new</span>=<span class="org-string">"</span><span class="org-string"><span class="org-sh-quoted-exec">$((</span></span><span class="org-string"><span class="org-constant"><span class="org-sh-quoted-exec">$</span></span></span><span class="org-string"><span class="org-variable-name"><span class="org-sh-quoted-exec">esrf_new</span></span></span><span class="org-string"><span class="org-sh-quoted-exec">+</span></span><span class="org-string"><span class="org-constant"><span class="org-sh-quoted-exec">$</span></span></span><span class="org-string"><span class="org-variable-name"><span class="org-sh-quoted-exec">gmail_new</span></span></span><span class="org-string"><span class="org-sh-quoted-exec">)</span></span><span class="org-string">)"</span>
|
|
<span class="org-variable-name">old</span>=<span class="org-string">"</span><span class="org-string"><span class="org-sh-quoted-exec">$((</span></span><span class="org-string"><span class="org-constant"><span class="org-sh-quoted-exec">$</span></span></span><span class="org-string"><span class="org-variable-name"><span class="org-sh-quoted-exec">esrf_old</span></span></span><span class="org-string"><span class="org-sh-quoted-exec">+</span></span><span class="org-string"><span class="org-constant"><span class="org-sh-quoted-exec">$</span></span></span><span class="org-string"><span class="org-variable-name"><span class="org-sh-quoted-exec">gmail_old</span></span></span><span class="org-string"><span class="org-sh-quoted-exec">)</span></span><span class="org-string">)"</span>
|
|
<span class="org-comment-delimiter"># </span><span class="org-comment">=============================================================</span>
|
|
|
|
<span class="org-comment-delimiter"># </span><span class="org-comment">=============================================================</span>
|
|
<span class="org-comment-delimiter"># </span><span class="org-comment">Notification</span>
|
|
<span class="org-keyword">if</span> <span class="org-rainbow-delimiters-depth-1">[</span> <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">new</span></span><span class="org-string">"</span> -gt <span class="org-highlight-numbers-number">0</span> <span class="org-rainbow-delimiters-depth-1">]</span>; <span class="org-keyword">then</span>
|
|
notify-send --hint=string:x-dunst-stack-tag:fV84ivMi <span class="org-string">'Mails '</span> <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">new</span></span><span class="org-string"> new mail(s)"</span>
|
|
<span class="org-keyword">fi</span>
|
|
<span class="org-comment-delimiter"># </span><span class="org-comment">=============================================================</span>
|
|
|
|
<span class="org-comment-delimiter"># </span><span class="org-comment">=============================================================</span>
|
|
<span class="org-comment-delimiter"># </span><span class="org-comment">Indexation and Tags</span>
|
|
<span class="org-keyword">if</span> <span class="org-type">pgrep</span> -f <span class="org-string">'mu server'</span>; <span class="org-keyword">then</span>
|
|
emacsclient --eval <span class="org-string">'(mu4e-update-index)'</span>
|
|
<span class="org-keyword">else</span>
|
|
mu index -m ~/.mail $<span class="org-variable-name">opt_verbose</span> $<span class="org-variable-name">opt_quiet</span>
|
|
<span class="org-keyword">fi</span>
|
|
<span class="org-comment-delimiter"># </span><span class="org-comment">=============================================================</span>
|
|
</pre>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div id="outline-container-org290b78f" class="outline-2">
|
|
<h2 id="org290b78f"><code>syncmail</code> - Synchronize all mails</h2>
|
|
<div class="outline-text-2" id="text-org290b78f">
|
|
</div>
|
|
<div id="outline-container-orgefd8c7b" class="outline-3">
|
|
<h3 id="orgefd8c7b">Service</h3>
|
|
<div class="outline-text-3" id="text-orgefd8c7b">
|
|
<div class="org-src-container">
|
|
<pre class="src src-conf">[<span class="org-type">Unit</span>]
|
|
<span class="org-variable-name">Description</span>=Sync all mails
|
|
<span class="org-variable-name">RefuseManualStart</span>=no
|
|
<span class="org-variable-name">RefuseManualStop</span>=yes
|
|
|
|
[<span class="org-type">Service</span>]
|
|
<span class="org-variable-name">Type</span>=oneshot
|
|
<span class="org-variable-name">ExecStart</span>=%h/.local/bin/checkmail -a -q
|
|
</pre>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div id="outline-container-org9594653" class="outline-3">
|
|
<h3 id="org9594653">Timer</h3>
|
|
<div class="outline-text-3" id="text-org9594653">
|
|
<div class="org-src-container">
|
|
<pre class="src src-conf">[<span class="org-type">Unit</span>]
|
|
<span class="org-variable-name">Description</span>=Sync All Mails every x hours
|
|
<span class="org-variable-name">RefuseManualStart</span>=no
|
|
<span class="org-variable-name">RefuseManualStop</span>=no
|
|
<span class="org-variable-name">Wants</span>=network-online.target
|
|
<span class="org-variable-name">After</span>=network-online.target
|
|
<span class="org-variable-name">Requires</span>=syncmail.service
|
|
|
|
[<span class="org-type">Timer</span>]
|
|
<span class="org-variable-name">Persistent</span>=false
|
|
<span class="org-variable-name">OnBootSec</span>=30min
|
|
<span class="org-variable-name">OnUnitActiveSec</span>=300min
|
|
<span class="org-variable-name">AccuracySec</span>=10min
|
|
<span class="org-variable-name">Unit</span>=syncmail.service
|
|
|
|
[<span class="org-type">Install</span>]
|
|
<span class="org-variable-name">WantedBy</span>=default.target
|
|
</pre>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div id="outline-container-orgc224066" class="outline-2">
|
|
<h2 id="orgc224066"><code>vdirsyncer</code> - Synchronize calendar and contacts</h2>
|
|
<div class="outline-text-2" id="text-orgc224066">
|
|
</div>
|
|
<div id="outline-container-orgb44b558" class="outline-3">
|
|
<h3 id="orgb44b558">Service</h3>
|
|
<div class="outline-text-3" id="text-orgb44b558">
|
|
<div class="org-src-container">
|
|
<pre class="src src-conf">[<span class="org-type">Unit</span>]
|
|
<span class="org-variable-name">Description</span>=Synchronize calendars and contacts
|
|
<span class="org-variable-name">Documentation</span>=https://vdirsyncer.readthedocs.org/
|
|
<span class="org-variable-name">Wants</span>=network-online.target
|
|
<span class="org-variable-name">After</span>=network-online.target
|
|
|
|
[<span class="org-type">Service</span>]
|
|
<span class="org-variable-name">ExecStart</span>=/home/thomas/.local/bin/vdirsyncer --verbosity <span class="org-string">"ERROR"</span> sync
|
|
<span class="org-variable-name">Type</span>=oneshot
|
|
</pre>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div id="outline-container-org088f759" class="outline-3">
|
|
<h3 id="org088f759">Timer</h3>
|
|
<div class="outline-text-3" id="text-org088f759">
|
|
<div class="org-src-container">
|
|
<pre class="src src-conf">[<span class="org-type">Unit</span>]
|
|
<span class="org-variable-name">Description</span>=Synchronize vdirs
|
|
|
|
[<span class="org-type">Timer</span>]
|
|
<span class="org-variable-name">OnBootSec</span>=5m
|
|
<span class="org-variable-name">OnUnitActiveSec</span>=15m
|
|
<span class="org-variable-name">AccuracySec</span>=5m
|
|
|
|
[<span class="org-type">Install</span>]
|
|
<span class="org-variable-name">WantedBy</span>=timers.target
|
|
</pre>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div id="outline-container-org632bc1c" class="outline-2">
|
|
<h2 id="org632bc1c"><code>ssh-agent</code> - SSH Agent</h2>
|
|
<div class="outline-text-2" id="text-org632bc1c">
|
|
</div>
|
|
<div id="outline-container-org9a8f7fb" class="outline-3">
|
|
<h3 id="org9a8f7fb">Service</h3>
|
|
<div class="outline-text-3" id="text-org9a8f7fb">
|
|
<div class="org-src-container">
|
|
<pre class="src src-conf">[<span class="org-type">Unit</span>]
|
|
<span class="org-variable-name">Description</span>=SSH key agent
|
|
|
|
[<span class="org-type">Service</span>]
|
|
<span class="org-variable-name">Type</span>=simple
|
|
<span class="org-variable-name">Environment</span>=SSH_AUTH_SOCK=%t/ssh-agent.socket
|
|
<span class="org-variable-name">ExecStart</span>=/usr/bin/ssh-agent -D -a $SSH_AUTH_SOCK
|
|
|
|
[<span class="org-type">Install</span>]
|
|
<span class="org-variable-name">WantedBy</span>=default.target
|
|
</pre>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div id="outline-container-orga057b5a" class="outline-2">
|
|
<h2 id="orga057b5a"><code>emacs</code> - Emacs</h2>
|
|
<div class="outline-text-2" id="text-orga057b5a">
|
|
</div>
|
|
<div id="outline-container-org4b91453" class="outline-3">
|
|
<h3 id="org4b91453">Service</h3>
|
|
<div class="outline-text-3" id="text-org4b91453">
|
|
<div class="org-src-container">
|
|
<pre class="src src-conf">[<span class="org-type">Unit</span>]
|
|
<span class="org-variable-name">Description</span>=Emacs text editor
|
|
<span class="org-variable-name">Documentation</span>=info:emacs man:emacs(<span class="org-highlight-numbers-number">1</span>) https://gnu.org/software/emacs/
|
|
|
|
[<span class="org-type">Service</span>]
|
|
<span class="org-variable-name">Type</span>=simple
|
|
<span class="org-variable-name">ExecStart</span>=/usr/bin/emacs --fg-daemon
|
|
<span class="org-variable-name">ExecStop</span>=/usr/bin/emacsclient --eval <span class="org-string">"(kill-emacs)"</span>
|
|
<span class="org-variable-name">Environment</span>=SSH_AUTH_SOCK=%t/keyring/ssh
|
|
<span class="org-variable-name">Restart</span>=on-failure
|
|
|
|
[<span class="org-type">Install</span>]
|
|
<span class="org-variable-name">WantedBy</span>=default.target
|
|
</pre>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div id="outline-container-orge6f4a6a" class="outline-2">
|
|
<h2 id="orge6f4a6a"><code>trash-empty</code> - Empty the trash for files older than 30 days</h2>
|
|
<div class="outline-text-2" id="text-orge6f4a6a">
|
|
</div>
|
|
<div id="outline-container-orgfa6b7df" class="outline-3">
|
|
<h3 id="orgfa6b7df">Service</h3>
|
|
<div class="outline-text-3" id="text-orgfa6b7df">
|
|
<div class="org-src-container">
|
|
<pre class="src src-conf">[<span class="org-type">Unit</span>]
|
|
<span class="org-variable-name">Description</span>=Empty the trash for files older than <span class="org-highlight-numbers-number">30</span> days
|
|
<span class="org-variable-name">Documentation</span>=https://github.com/andreafrancia/trash-cli
|
|
|
|
[<span class="org-type">Service</span>]
|
|
<span class="org-variable-name">ExecStart</span>=/home/thomas/.local/bin/trash-empty <span class="org-highlight-numbers-number">30</span>
|
|
<span class="org-variable-name">Type</span>=oneshot
|
|
</pre>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div id="outline-container-org17be1c1" class="outline-3">
|
|
<h3 id="org17be1c1">Timer</h3>
|
|
<div class="outline-text-3" id="text-org17be1c1">
|
|
<div class="org-src-container">
|
|
<pre class="src src-conf">[<span class="org-type">Unit</span>]
|
|
<span class="org-variable-name">Description</span>=Empty trash
|
|
|
|
[<span class="org-type">Timer</span>]
|
|
<span class="org-variable-name">OnCalendar</span>=*-*-* <span class="org-highlight-numbers-number">16</span>:<span class="org-highlight-numbers-number">00</span>:<span class="org-highlight-numbers-number">00</span>
|
|
<span class="org-variable-name">Persistent</span>=true
|
|
<span class="org-variable-name">Unit</span>=trash-empty
|
|
|
|
[<span class="org-type">Install</span>]
|
|
<span class="org-variable-name">WantedBy</span>=timers.target
|
|
</pre>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div id="outline-container-orga1ff028" class="outline-2">
|
|
<h2 id="orga1ff028"><code>syncthing</code></h2>
|
|
<div class="outline-text-2" id="text-orga1ff028">
|
|
</div>
|
|
<div id="outline-container-orgcbf786a" class="outline-3">
|
|
<h3 id="orgcbf786a">Service</h3>
|
|
<div class="outline-text-3" id="text-orgcbf786a">
|
|
<div class="org-src-container">
|
|
<pre class="src src-conf">[<span class="org-type">Unit</span>]
|
|
<span class="org-variable-name">Description</span>=Syncthing - Open Source Continuous File Synchronization for %I
|
|
<span class="org-variable-name">Documentation</span>=man:syncthing(<span class="org-highlight-numbers-number">1</span>)
|
|
<span class="org-variable-name">After</span>=network.target
|
|
|
|
[<span class="org-type">Service</span>]
|
|
<span class="org-variable-name">Environment</span>=<span class="org-string">"all_proxy=socks5://localhost:8080"</span>
|
|
<span class="org-variable-name">ExecStart</span>=/usr/bin/syncthing -no-browser -gui-address=<span class="org-string">"0.0.0.0:8384"</span> -no-restart -logflags=<span class="org-highlight-numbers-number">0</span>
|
|
<span class="org-variable-name">Restart</span>=on-failure
|
|
<span class="org-variable-name">SuccessExitStatus</span>=<span class="org-highlight-numbers-number">3</span> <span class="org-highlight-numbers-number">4</span>
|
|
<span class="org-variable-name">RestartForceExitStatus</span>=<span class="org-highlight-numbers-number">3</span> <span class="org-highlight-numbers-number">4</span>
|
|
|
|
[<span class="org-type">Install</span>]
|
|
<span class="org-variable-name">WantedBy</span>=default.target
|
|
</pre>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div id="outline-container-orgefe060e" class="outline-2">
|
|
<h2 id="orgefe060e"><code>homelab-tunnel</code> - SSH Tunnel</h2>
|
|
<div class="outline-text-2" id="text-orgefe060e">
|
|
<p>
|
|
Useful to bypass firewalls.
|
|
This can we used on the browser:
|
|
</p>
|
|
<ul class="org-ul">
|
|
<li>for <code>qutebrowser</code>, use <code>:set content.proxy socks5://localhost:8080</code> (can setup a shortcut for that)</li>
|
|
</ul>
|
|
|
|
<p>
|
|
This is also used for Syncthing.
|
|
</p>
|
|
</div>
|
|
|
|
<div id="outline-container-org1be238b" class="outline-3">
|
|
<h3 id="org1be238b">Service</h3>
|
|
<div class="outline-text-3" id="text-org1be238b">
|
|
<div class="org-src-container">
|
|
<pre class="src src-conf">[<span class="org-type">Unit</span>]
|
|
<span class="org-variable-name">Description</span>=Setup a secure tunnel with homelab
|
|
<span class="org-variable-name">After</span>=network.target
|
|
|
|
[<span class="org-type">Service</span>]
|
|
<span class="org-variable-name">ExecStart</span>=/usr/bin/ssh -o ServerAliveInterval=<span class="org-highlight-numbers-number">60</span> -o ExitOnForwardFailure=yes -D <span class="org-highlight-numbers-number">8080</span> -q -N -T homelab
|
|
|
|
<span class="org-comment-delimiter"># </span><span class="org-comment">Restart every >2 seconds to avoid StartLimitInterval failure</span>
|
|
<span class="org-variable-name">RestartSec</span>=<span class="org-highlight-numbers-number">5</span>
|
|
<span class="org-variable-name">Restart</span>=always
|
|
|
|
[<span class="org-type">Install</span>]
|
|
<span class="org-variable-name">WantedBy</span>=default.target
|
|
</pre>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div id="outline-container-orgd4332cd" class="outline-2">
|
|
<h2 id="orgd4332cd"><code>esrf-tunnel</code> - SSH Tunnel</h2>
|
|
<div class="outline-text-2" id="text-orgd4332cd">
|
|
</div>
|
|
<div id="outline-container-org02bdf60" class="outline-3">
|
|
<h3 id="org02bdf60">Service</h3>
|
|
<div class="outline-text-3" id="text-org02bdf60">
|
|
<div class="org-src-container">
|
|
<pre class="src src-conf">[<span class="org-type">Unit</span>]
|
|
<span class="org-variable-name">Description</span>=Setup a secure tunnel with ESRF
|
|
<span class="org-variable-name">After</span>=network.target
|
|
|
|
[<span class="org-type">Service</span>]
|
|
<span class="org-variable-name">ExecStart</span>=/usr/bin/ssh -o ServerAliveInterval=<span class="org-highlight-numbers-number">60</span> -o ExitOnForwardFailure=yes -D <span class="org-highlight-numbers-number">8081</span> -q -N -T rnice.esrf.fr
|
|
|
|
<span class="org-comment-delimiter"># </span><span class="org-comment">Restart every >2 seconds to avoid StartLimitInterval failure</span>
|
|
<span class="org-variable-name">RestartSec</span>=<span class="org-highlight-numbers-number">5</span>
|
|
<span class="org-variable-name">Restart</span>=always
|
|
|
|
[<span class="org-type">Install</span>]
|
|
<span class="org-variable-name">WantedBy</span>=default.target
|
|
</pre>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div id="postamble" class="status">
|
|
<p class="author">Author: Dehaeze Thomas</p>
|
|
<p class="date">Created: 2022-05-09 lun. 10:04</p>
|
|
</div>
|
|
</body>
|
|
</html>
|