Scuze pentru lungime:
Am postat aceeași postare pe Stack Overflow: https://stackoverflow.com/questions/69671377/attempting-to-enable-a-custom-service-in-ubuntu-18-04-minimal-returns-failed-to
Pe acest sistem, am instalat AWS CLI2, împreună cu pachetele de suport și diverse pachete generice precum unzip și wget.
Am o instanță AWS care rulează Ubuntu 18.04 LTS Minimal (ami-006e7e4c46a45d7d7). Am un fișier .service (backuptos3.service) pe care l-am creat și rulează pe mai multe servere CentOS. Realizează un scenariu. (Backup_To_S3.sh) Există un fișier însoțitor .timer care ar trebui să declanșeze acest fișier .service. (backuptos3.timer)
Am „Backup_To_S3.sh” în „/home/users/bin” cu 755 de permisiuni (care poate să nu fie cuvântul potrivit). Fișierele „backuptos3.service” și „backuptos3.timer” sunt și în „~/.config/systemd/user” cu 755 de permisiuni. Proprietarul de aici este același cu proprietarul folderului.
Când rulez comanda:
sudo systemctl enable backuptos3.service
Primesc eroarea: „Eșuat la activarea unității: fișierul unitate backuptos3.service nu există”.
Nu am găsit o explicație convingătoare despre de ce și ce să fac pentru a o remedia. Vreo idee?
Am înlocuit serverul (la urma urmei este AWS) cu un 18.04 LTS (nu minim), dar asta nu l-a rezolvat. Am verificat notele de lansare (în caz contrar...) nimic.
Acest lucru nu părea să se potrivească: https://stackoverflow.com/questions/53297867/enable-docker-services-in-ubuntu-18-04
Acestea două păreau să se potrivească, dar nu înțeleg ce se întâmplă: https://github.com/nix-community/lorri/issues/68 și https://github.com/abraunegg/onedrive/issues/250
Am vazut si asta: Nu s-a pornit gunicorn.service: unitatea gunicorn.service nu a fost găsită. Ubuntu 18.04. Problema este că răspunsul sugerat este locul unde începe problema mea.
obisnuiam https://www.linux.com/training-tutorials/systemd-timers-two-use-cases-0/ pentru a construi fișierele inițial.
Am inclus fișierele .service și .timer mai jos.
# backuptos3.serviciu
[Unitate]
Descriere= Încarcă copii de rezervă în AWS S3
Documentație= ""
[Serviciu]
Tip= simplu
Utilizator= ubuntu
ExecStart= /home/ubuntu/bin/Backup_To_S3.sh
TimeoutStopSec= 21600 # 6 ore
[Instalare]
WantedBy= multi-user.target
și
# backuptos3.timer
[Unitate]
Descriere=backuptos3
[Temporizator]
Unit=backuptos3.service
OnCalendar=*-*-* 02:30:00
Persistent=adevarat
[Instalare]
WantedBy=basic.target
UPDATE: După o sugestie de la Doug Smythies, am căutat puțin mai mult despre activarea serviciilor utilizator vs root. Am găsit un articol de stivă depășit (https://stackoverflow.com/questions/66534369/error-failed-to-enable-unit-invalid-argument) care a discutat problema invalidă a argumentului. Acest lucru a dus la un alt articol (https://stackoverflow.com/questions/48177558/what-does-failed-to-execute-operation-invalid-argument-mean-when-running-syst) care avea un analizor de sisteme sudo systemd-analyze verifică numele tău.serviciu
Am rulat asta și am venit cu:
Fișierul de configurare /etc/systemd/system/./backuptos3.service este marcat ca executabil. Vă rugăm să eliminați biții de permisiune executabili.
Procedând oricum. backuptos3.service: Serviciul are mai mult de unul
Setarea ExecStart=, care este permisă numai pentru serviciile Type=oneshot.
Refuz. backuptos3.service: Nu s-a putut crea
backuptos3.service/start: Unitatea backuptos3.service nu este încărcată
corect: argument invalid. backuptos3.service: Comanda
/home/centos/bin/PDFS3Uploader.sh nu este executabil: nu există un astfel de fișier sau
directory Am încercat să eliminăm sistemul de fișiere pe disc și nu putem permite
acea.
Voi lucra prin acest bloc pentru a vedea dacă pot face progrese.