{"id":145,"date":"2026-08-20T19:17:31","date_gmt":"2026-08-20T19:17:31","guid":{"rendered":"https:\/\/netguide.io\/tools\/systemd-service-generator\/"},"modified":"2026-08-20T19:17:31","modified_gmt":"2026-08-20T19:17:31","slug":"systemd-service-generator","status":"publish","type":"post","link":"https:\/\/netguide.io\/tools\/de\/systemd-service-generator\/","title":{"rendered":"systemd-Service-Generator"},"content":{"rendered":"<div id=\"netgu-428413765\" class=\"netgu-before-content netgu-entity-placement\"><script async src=\"\/\/pagead2.googlesyndication.com\/pagead\/js\/adsbygoogle.js?client=ca-pub-6258556257245998\" crossorigin=\"anonymous\"><\/script><ins class=\"adsbygoogle\" style=\"display:block;\" data-ad-client=\"ca-pub-6258556257245998\" \ndata-ad-slot=\"3494115342\" \ndata-ad-format=\"auto\"><\/ins>\n<script> \n(adsbygoogle = window.adsbygoogle || []).push({}); \n<\/script>\n<\/div>\n<style>\n.wp-sy-container { max-width:100%; background:#fff; padding:20px; border:1px solid #ddd; border-radius:10px; font-family:-apple-system, sans-serif; color:#333; }\n.wp-sy-title { margin:0 0 15px 0; color:#2271b1; font-size:1.4rem; }\n.wp-sy-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(140px, 1fr)); gap:12px; margin-bottom:10px; }\n.wp-sy-input-group label { display:block; font-size:11px; font-weight:bold; margin-bottom:4px; text-transform:uppercase; color:#666; }\n.wp-sy-input-group input, .wp-sy-input-group select { width:100%; padding:8px; border:1px solid #ccc; border-radius:4px; box-sizing:border-box; }\n.wp-sy-checkbox-group { margin:15px 0; font-size:12px; display:flex; align-items:center; gap:8px; color:#666; }\n.wp-sy-note { font-size:12px; color:#666; margin-top:12px; min-height:1em; }\n.wp-sy-warn { color:#d63638; font-weight:bold; }\n.wp-sy-results { margin-top:20px; border-top:2px solid #eee; padding-top:15px; }\n.wp-sy-res-item { display:flex; justify-content:space-between; margin-bottom:6px; font-size:14px; gap:10px; }\n.wp-sy-total { font-weight:bold; font-size:18px; color:#2271b1; margin:10px 0; padding:5px 0; border-top:1px solid #eee; border-bottom:1px solid #eee; }\n.wp-sy-val { color:#2271b1; font-weight:bold; }\n.wp-sy-out { width:100%; box-sizing:border-box; padding:10px; border:1px solid #ccc; border-radius:4px; font-family:monospace; font-size:13px; word-break:break-all; background:#f7f7f7; margin-top:6px; }\n.wp-sy-btn { background:#2271b1; color:#fff; border:none; padding:9px 14px; border-radius:4px; cursor:pointer; font-size:13px; margin-top:10px; }\n<\/style><div class=\"wp-sy-container\">\n  <h3 class=\"wp-sy-title\">systemd-Service-Generator<\/h3>\n  <div class=\"wp-sy-grid\">\n    <div class=\"wp-sy-input-group\"><label>Unit-Name<\/label><input type=\"text\" id=\"sy-name\" value=\"myapp\" oninput=\"genSystemd()\"><\/div>\n    <div class=\"wp-sy-input-group\"><label>Beschreibung<\/label><input type=\"text\" id=\"sy-desc\" value=\"My Application\" oninput=\"genSystemd()\"><\/div>\n    <div class=\"wp-sy-input-group\" style=\"grid-column:1\/-1;\"><label>ExecStart (Befehl)<\/label><input type=\"text\" id=\"sy-exec\" value=\"\/usr\/local\/bin\/myapp --serve\" oninput=\"genSystemd()\"><\/div>\n    <div class=\"wp-sy-input-group\"><label>User<\/label><input type=\"text\" id=\"sy-user\" value=\"\" placeholder=\"optional\" oninput=\"genSystemd()\"><\/div>\n    <div class=\"wp-sy-input-group\"><label>WorkingDirectory<\/label><input type=\"text\" id=\"sy-wd\" value=\"\" placeholder=\"optional\" oninput=\"genSystemd()\"><\/div>\n    <div class=\"wp-sy-input-group\"><label>Type<\/label><select id=\"sy-type\" onchange=\"genSystemd()\"><option value=\"simple\" selected>simple<\/option><option value=\"exec\">exec<\/option><option value=\"oneshot\">oneshot<\/option><option value=\"forking\">forking<\/option><option value=\"notify\">notify<\/option><\/select><\/div>\n    <div class=\"wp-sy-input-group\"><label>Restart<\/label><select id=\"sy-restart\" onchange=\"genSystemd()\"><option value=\"no\">no<\/option><option value=\"on-failure\" selected>on-failure<\/option><option value=\"always\">always<\/option><\/select><\/div>\n    <div class=\"wp-sy-input-group\"><label>After<\/label><input type=\"text\" id=\"sy-after\" value=\"network.target\" oninput=\"genSystemd()\"><\/div>\n  <\/div>\n  <div class=\"wp-sy-checkbox-group\"><input type=\"checkbox\" id=\"sy-timer\" onchange=\"genSystemd()\"><label for=\"sy-timer\">Zus\u00e4tzlich einen Timer erzeugen<\/label><\/div>\n  <div class=\"wp-sy-grid\"><div class=\"wp-sy-input-group\"><label>OnCalendar (z. B. daily, *-*-* 03:00:00)<\/label><input type=\"text\" id=\"sy-cal\" value=\"daily\" oninput=\"genSystemd()\"><\/div><\/div>\n  <label style=\"display:block; font-size:11px; font-weight:bold; text-transform:uppercase; color:#666; margin:12px 0 4px;\">Unit-Datei(en)<\/label>\n  <textarea id=\"sy-out\" class=\"wp-sy-out\" style=\"height:230px;\" readonly><\/textarea>\n  <button class=\"wp-sy-btn\" onclick=\"copySy()\">Kopieren<\/button>\n  <div class=\"wp-sy-note\">Datei nach \/etc\/systemd\/system\/ kopieren, dann systemctl daemon-reload und systemctl enable &#8211;now NAME. Bei Timer den Timer aktivieren, nicht den Service.<\/div>\n<\/div>\n<script>\nfunction genSystemd(){\n  var name=(document.getElementById('sy-name').value||'myapp').trim()||'myapp';\n  var desc=(document.getElementById('sy-desc').value||'').trim();\n  var exec=(document.getElementById('sy-exec').value||'').trim();\n  var user=(document.getElementById('sy-user').value||'').trim();\n  var wd=(document.getElementById('sy-wd').value||'').trim();\n  var type=document.getElementById('sy-type').value;\n  var restart=document.getElementById('sy-restart').value;\n  var after=(document.getElementById('sy-after').value||'').trim();\n  var useTimer=document.getElementById('sy-timer').checked;\n  var cal=(document.getElementById('sy-cal').value||'').trim();\n  var s='# '+name+'.service\\n[Unit]\\n';\n  if(desc) s+='Description='+desc+'\\n';\n  if(after) s+='After='+after+'\\n';\n  s+='\\n[Service]\\nType='+type+'\\n';\n  if(user) s+='User='+user+'\\n';\n  if(wd) s+='WorkingDirectory='+wd+'\\n';\n  if(exec) s+='ExecStart='+exec+'\\n';\n  if(!useTimer && restart!=='no') s+='Restart='+restart+'\\n';\n  s+='\\n[Install]\\nWantedBy=multi-user.target\\n';\n  if(useTimer){\n    s+='\\n\\n# '+name+'.timer\\n[Unit]\\n';\n    if(desc) s+='Description='+desc+' (Timer)\\n';\n    s+='\\n[Timer]\\nOnCalendar='+(cal||'daily')+'\\nPersistent=true\\n\\n[Install]\\nWantedBy=timers.target\\n';\n  }\n  document.getElementById('sy-out').value=s;\n}\nfunction copySy(){ var o=document.getElementById('sy-out'); if(!o.value)return; o.focus(); o.select(); try{navigator.clipboard.writeText(o.value);}catch(e){} }\ngenSystemd();\n<\/script>\n\n\n<div id=\"netgu-2500746387\"><script async src=\"https:\/\/pagead2.googlesyndication.com\/pagead\/js\/adsbygoogle.js?client=ca-pub-6258556257245998\"\r\n     crossorigin=\"anonymous\"><\/script>\r\n<!-- NetGuide.io-After-Widget-Tools -->\r\n<ins class=\"adsbygoogle\"\r\n     style=\"display:block\"\r\n     data-ad-client=\"ca-pub-6258556257245998\"\r\n     data-ad-slot=\"5175852350\"\r\n     data-ad-format=\"auto\"\r\n     data-full-width-responsive=\"true\"><\/ins>\r\n<script>\r\n     (adsbygoogle = window.adsbygoogle || []).push({});\r\n<\/script><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">systemd-Unit-Dateien erstellen<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Das Tool baut aus deinen Angaben eine fertige <code>.service<\/code>-Datei \u2013 und auf Wunsch zus\u00e4tzlich einen <code>.timer<\/code>, um den Dienst zeitgesteuert zu starten (die moderne Alternative zu Cron).<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Type:<\/strong> <code>simple<\/code> f\u00fcr Programme im Vordergrund, <code>oneshot<\/code> f\u00fcr kurze Aufgaben (typisch bei Timern), <code>forking<\/code> f\u00fcr klassische Daemons.<\/li>\n\n\n<li><strong>Restart:<\/strong> <code>on-failure<\/code> startet den Dienst nach einem Absturz neu.<\/li>\n\n\n<li><strong>Timer:<\/strong> <code>OnCalendar=daily<\/code> oder ein Ausdruck wie <code>*-*-* 03:00:00<\/code> f\u00fcr t\u00e4glich 3 Uhr.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Aktivieren: Datei nach <code>\/etc\/systemd\/system\/<\/code>, dann <code>systemctl daemon-reload<\/code> und <code>systemctl enable --now myapp.service<\/code> (bzw. <code>.timer<\/code>).<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Verwandte Tools<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"\/tools\/de\/cronjob-generator\/\">Cronjob-Generator<\/a><\/li>\n\n\n<li><a href=\"\/tools\/de\/docker-compose-generator\/\">Docker-Compose-Generator<\/a><\/li>\n<\/ul>\n\n\n<div id=\"netgu-383803442\" class=\"netgu-after-content netgu-entity-placement\"><script async src=\"\/\/pagead2.googlesyndication.com\/pagead\/js\/adsbygoogle.js?client=ca-pub-6258556257245998\" crossorigin=\"anonymous\"><\/script><ins class=\"adsbygoogle\" style=\"display:block;\" data-ad-client=\"ca-pub-6258556257245998\" \ndata-ad-slot=\"4559785002\" \ndata-ad-format=\"auto\"><\/ins>\n<script> \n(adsbygoogle = window.adsbygoogle || []).push({}); \n<\/script>\n<\/div>","protected":false},"excerpt":{"rendered":"<p>systemd-Unit-Dateien erzeugen \u2013 Service und optional Timer, mit ExecStart, User, Type und Restart-Policy. L\u00e4uft komplett im Browser.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[33],"tags":[],"class_list":["post-145","post","type-post","status-publish","format-standard","hentry","category-generatoren"],"brizy_media":[],"_links":{"self":[{"href":"https:\/\/netguide.io\/tools\/wp-json\/wp\/v2\/posts\/145","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/netguide.io\/tools\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/netguide.io\/tools\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/netguide.io\/tools\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/netguide.io\/tools\/wp-json\/wp\/v2\/comments?post=145"}],"version-history":[{"count":0,"href":"https:\/\/netguide.io\/tools\/wp-json\/wp\/v2\/posts\/145\/revisions"}],"wp:attachment":[{"href":"https:\/\/netguide.io\/tools\/wp-json\/wp\/v2\/media?parent=145"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/netguide.io\/tools\/wp-json\/wp\/v2\/categories?post=145"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/netguide.io\/tools\/wp-json\/wp\/v2\/tags?post=145"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}