Извиняюсь за длину:
Я разместил тот же пост в Stack Overflow: a-custom-service-in-ubuntu-18-04-minimal-returns-failed-to
В этой системе у меня установлен AWS CLI2 вместе со вспомогательными пакетами и различными универсальными пакетами, такими как unzip и wget.
У меня есть экземпляр AWS с Ubuntu 18.04 LTS Minimal (ami-006e7e4c46a45d7d7). У меня есть файл .service (backuptos3.service), который я создал и работает на нескольких серверах CentOS. Он выполняет сценарий. (Backup_To_S3.sh) Существует сопутствующий файл .timer, который должен запускать этот файл .service. (backuptos3.timer)
У меня есть «Backup_To_S3.sh» в «/home/users/bin» с разрешениями 755 (что может быть неправильным словом). Файлы «backuptos3.service» и «backuptos3.timer» находятся в папке «~/.config/systemd/user» с правами доступа 755. Владелец здесь тот же, что и владелец папки.
Когда я запускаю команду:
sudo systemctl enable backuptos3.service
, я получаю сообщение об ошибке: «Не удалось включить модуль: резервная копия файла модуля». .service не существует."
Я не нашел убедительного объяснения, почему и что делать, чтобы это исправить. Есть идеи?
Я заменил сервер (в конце концов, это AWS) на 18.04 LTS (не минимальный ), но это не исправило. Я проверил примечания к выпуску (на всякий случай...) ничего.
Это, похоже, не подходит: -docker-services-in-ubuntu-18-04
Эти два вроде подошли, но я не понимаю, что происходит: https://github.com/nix-community/lorri/issues /68 и https://github.com/abraunegg/onedrive/issues/250
Я также видел это: Не удалось запустить gunicorn.service: модуль gunicorn.service не найден. Ubuntu 18.04 . Проблема в том, что предлагаемый ответ заключается в том, где моя проблема. джины.
Я использовал https://www.linux.com/training-tutorials/systemd-timers-two-use-cases-0/ для первоначальной сборки файлов.
Ниже приведены файлы .service и .timer.
# backuptos3.service
[Unit]
Description= Uploads Backups to AWS S3
Documentation= ""
[Service]
Type= simple
User= ubuntu
ExecStart= /home/ubuntu/bin/Backup_To_S3.sh
TimeoutStopSec= 21600 # 6 hours
[Install]
WantedBy= multi-user.target
и
# backuptos3.timer
[Unit]
Description=backuptos3
[Timer]
Unit=backuptos3.service
OnCalendar=*-*-* 02:30:00
Persistent=true
[Install]
WantedBy=basic.target
ОБНОВЛЕНИЕ. После предложения Дуга Смитиса я провел еще немного поиска по включению пользовательских и корневых служб. Найдена статья о переполнении стека (https://stackoverflow.com/questions/66534369/error-failed-to-enable-unit-invalid-argument), в которой обсуждалась проблема с недопустимым аргументом. Это привело к другой статье (https://stackoverflow.com/questions/48177558/what-does-failed-to-execute-operation-invalid-argument-mean-when-running-syst), у которого был системный анализатор sudo systemd-analyze, проверяй ваше имя.service
Я запустил это и получил следующее:
Файл конфигурации /etc/systemd/system/./backuptos3.service помечен как исполняемый. Пожалуйста, удалите биты разрешения на выполнение. В любом случае продолжаем. backuptos3.service: Служба имеет более одного Настройка ExecStart=, которая разрешена только для сервисов Type=oneshot. Отказ. backuptos3.service: не удалось создать backuptos3.service/start: модуль backuptos3.service не загружен правильно: Неверный аргумент. backuptos3.service: Команда /home/centos/bin/PDFS3Uploader.sh не является исполняемым: нет такого файла или каталог Попытка удалить файловую систему диска, и мы не можем разрешить тот.
Я буду работать над этим блоком, чтобы увидеть, смогу ли я добиться прогресса.