Score:1

ความพยายามในการเปิดใช้งานบริการที่กำหนดเองใน Ubuntu 18.04 ส่งคืนขั้นต่ำ "ไม่สามารถเปิดใช้งานหน่วย: ไม่มีไฟล์สำรองหน่วยไฟล์ backuptos3.service"

ธง es

ขอโทษสำหรับความยาว:

ฉันโพสต์โพสต์เดียวกันใน 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 ไม่สามารถเรียกใช้งานได้: ไม่มีไฟล์ดังกล่าวหรือ ไดเร็กทอรีพยายามที่จะลบระบบไฟล์ของดิสก์ และเราไม่สามารถอนุญาตได้ นั่น.

ฉันจะทำงานผ่านบล็อกนี้เพื่อดูว่าฉันสามารถก้าวหน้าได้หรือไม่

user535733 avatar
cn flag
คุณจำการเรียกใช้ `sudo systemctl daemon-reload` หลังจากเพิ่มไฟล์ .timer และ .system ได้หรือไม่
LeviRCoding avatar
es flag
ตอนแรกฉันจะลืมที่จะทำเช่นนั้น แต่จะกลับไปทำเมื่อฉันลืม ฉันไม่คิดว่าจะมีปัญหาถ้าฉันพลาดในรอบแรก ดูเหมือนว่าจะสำเร็จเมื่อฉันเรียกใช้ หลังจากการทดสอบอื่น ผลลัพธ์เดียวกัน
Doug Smythies avatar
gn flag
ฉันไม่คุ้นเคยกับบริการรูท (sudo run) ที่อยู่ใน `~/.config/systemd/user` ตำแหน่งนั้นดูเหมือนไม่ถูกต้องสำหรับฉัน บริการที่ฉันเขียนอยู่ใน `/etc/systemd/system` และ `/etc/systemd/system/multi-user.target.wants` ซึ่งเป็นลิงก์ไปยังบริการก่อนหน้า
LeviRCoding avatar
es flag
ฉันย้ายไปที่สิทธิ์การตั้งค่า `/etc/systemd/system` อย่างเหมาะสม จากนั้นรีโหลด daemon พยายามเปิดใช้งาน ข้อผิดพลาดอาร์กิวเมนต์ไม่ถูกต้อง
Score:0
ธง es

Doug Smythies ถูกต้องด้านบน (หาวิธีให้เครดิตนอกเหนือจากนี้ไม่ได้) ผมมีปัญหาหลายอย่างตามที่ระบุไว้ในบล็อคด้านบน

สิ่งที่ส่งคืนข้อผิดพลาดที่ฉันโพสต์ครั้งแรกต้องทำโดยการวางไฟล์ .service และ .timer ในตำแหน่งที่ไม่ถูกต้อง

ปัญหาอื่นๆ เกี่ยวข้องกับการอนุญาต ฉันต้องตรวจสอบในไฟล์ .service สำหรับผู้ใช้และไดเร็กทอรีผู้ใช้รวมถึงการใช้

sudo chmod 775 <ชื่อบริการ>

และ

sudo chown ubuntu:ubuntu <ชื่อบริการ>

ฉันยังพบว่า ยังไงก็ตาม... ฉันได้วางรหัสของฉันซ้ำสองครั้งในไฟล์ .service (ฉันเดาว่าบางครั้งการคลิกขวาของฉันจะแปะทั้งการกดและยกปุ่มเมาส์ของฉัน) เห็นได้ชัดว่านาโนมีประโยชน์ที่นี่

ขอบคุณสำหรับความช่วยเหลือทั้งหมด!

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา