ขอโทษสำหรับความยาว:
ฉันโพสต์โพสต์เดียวกันใน Stack Overflow: https://stackoverflow.com/questions/69671377/attempting-to-enable-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 เปิดใช้งาน backuptos3.service
ฉันได้รับข้อผิดพลาด: "ไม่สามารถเปิดใช้งานหน่วยได้: ไม่มีไฟล์หน่วยสำรองtos3.service"
ฉันไม่พบคำอธิบายที่สมเหตุสมผลเกี่ยวกับสาเหตุและสิ่งที่ต้องทำเพื่อแก้ไข ความคิดใด ๆ ?
ฉันเปลี่ยนเซิร์ฟเวอร์ (เป็น AWS เลย) ด้วย 18.04 LTS (ไม่น้อย) แต่นั่นไม่ได้แก้ไข ฉันตรวจสอบบันทึกประจำรุ่น (ในโอกาสปิด ... ) ไม่มีอะไร
สิ่งนี้ดูเหมือนจะไม่เหมาะสม: https://stackoverflow.com/questions/53297867/enable-docker-services-in-ubuntu-18-04
สองคนนี้ดูเหมือนจะเข้ากันได้ แต่ฉันไม่เข้าใจว่าเกิดอะไรขึ้น: https://github.com/nix-community/lorri/issues/68 และ https://github.com/abraunegg/onedrive/issues/250
ฉันยังเห็นสิ่งนี้: ไม่สามารถเริ่ม gunicorn.service: ไม่พบ Unit gunicorn.service อูบุนโต 18.04. ปัญหาคือคำตอบที่แนะนำคือจุดเริ่มต้นของปัญหาของฉัน
ฉันใช้ https://www.linux.com/training-tutorials/systemd-timers-two-use-cases-0/ เพื่อสร้างไฟล์ในขั้นต้น
ฉันได้รวมไฟล์ .service และ .timer ไว้ด้านล่าง
#backuptos3.service
[หน่วย]
คำอธิบาย= อัปโหลดข้อมูลสำรองไปยัง AWS S3
เอกสาร = ""
[บริการ]
ประเภท = ง่าย
ผู้ใช้ = อูบุนตู
ExecStart= /home/ubuntu/bin/Backup_To_S3.sh
TimeoutStopSec= 21600 # 6 ชั่วโมง
[ติดตั้ง]
ต้องการโดย = หลาย user.target
และ
#backuptos3.timer
[หน่วย]
Description=backuptos3
[ตัวจับเวลา]
หน่วย=backuptos3.service
ในปฏิทิน=*-*-* 02:30:00 น
ถาวร = จริง
[ติดตั้ง]
ต้องการโดย=basic.target
อัปเดต: หลังจากคำแนะนำจาก Doug Smythies ฉันได้ค้นหาเพิ่มเติมอีกเล็กน้อยเกี่ยวกับการเปิดใช้งานบริการผู้ใช้และรูท พบบทความล้นสแต็ก (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 ตรวจสอบชื่อของคุณ บริการ
ฉันวิ่งสิ่งนี้และได้:
ไฟล์คอนฟิกูเรชัน /etc/systemd/system/./backuptos3.service ถูกทำเครื่องหมายว่าเรียกใช้งานได้ โปรดลบบิตการอนุญาตที่ปฏิบัติการได้
ดำเนินการต่อไป backuptos3.service: บริการมีมากกว่าหนึ่งรายการ
การตั้งค่า ExecStart= ซึ่งอนุญาตสำหรับบริการ Type=oneshot เท่านั้น
ปฏิเสธ backuptos3.service: สร้างไม่สำเร็จ
backuptos3.service/start: ไม่ได้โหลดหน่วย backuptos3.service
ถูกต้อง: อาร์กิวเมนต์ไม่ถูกต้อง backuptos3.service: คำสั่ง
/home/centos/bin/PDFS3Uploader.sh ไม่สามารถเรียกใช้งานได้: ไม่มีไฟล์ดังกล่าวหรือ
ไดเร็กทอรีพยายามที่จะลบระบบไฟล์ของดิสก์ และเราไม่สามารถอนุญาตได้
นั่น.
ฉันจะทำงานผ่านบล็อกนี้เพื่อดูว่าฉันสามารถก้าวหน้าได้หรือไม่