Score:1

crontab จะไม่เรียกใช้สคริปต์ของฉัน

ธง in

ฉันพยายามเรียกใช้สคริปต์เมื่อเริ่มต้น แต่ล้มเหลว crontab

@reboot /bin/sleep 8s && /bin/bash /home/user/reconnect.sh > /home/user/reconnect.log 2>&1

สคริปต์ทำงานได้ดีถ้าฉันดำเนินการด้วยมือ

#!/bin/bash

# หากเริ่มต้นในฐานะรูท ให้เริ่มต้นใหม่ในฐานะผู้ใช้ "ผู้ใช้":
ถ้า [ "$(id -u)" -eq 0 ]; แล้ว
    ผู้บริหาร sudo -H -u ผู้ใช้ $0 "$@"
    echo "ไม่เคยถึง";
ไฟ
echo "ทำงานเป็น user $(id -un)";

ในขณะที่ [ "จริง" ]
ทำ
        VPNCON=$(/bin/nmcli con | /bin/grep PureVPN_PPTP | /bin/cut -f18 -d " ")
        ถ้า [[ $VPNCON != ens3 ]]; แล้ว
                /bin/echo "ตัดการเชื่อมต่อ กำลังพยายามเชื่อมต่อใหม่..."
                (/bin/sleep 1s && /bin/nmcli ตั้งค่า uuid 1dfcb9f6-1b90-3d92-9f8b-106dc35da0f4)
        elif IP=$(ifconfig ppp0 | awk '/inet/{print $2; exit}')
                (/ถัง/นอน 5 วินาที)
                [ "$IP" != "xxx.xxxx.xxx.xxx" ]; แล้ว
                /bin/echo "IP ผิด: $IP"
                (/bin/sleep 1 วินาที && /bin/nmcli ลดลง uuid 1dfcb9f6-1b90-3d92-9f8b-106dc35da0f4 && /bin/sleep 2 วินาที && /bin/nmcli ลดลง 1dfcb9f6-1b90-3d92-9f8b-106dc35da0f4)
        อื่น
                /bin/echo "เชื่อมต่อแล้ว !"
        ไฟ
        /ถัง/นอน 30
เสร็จแล้ว

ตั้งแต่โพสต์แรก ฉันได้ทำงานกับสคริปต์เล็กน้อย มันทำงานได้ดีดำเนินการด้วยตนเอง

ดำเนินการโดย crone ในฐานะผู้ใช้ ฉันได้รับข้อผิดพลาดต่อไปนี้:

สิ่งนี้ทำงานในฐานะผู้ใช้
ตัดการเชื่อมต่อ กำลังพยายามเชื่อมต่อใหม่...
ข้อผิดพลาด: การเปิดใช้งานการเชื่อมต่อล้มเหลว: ไม่ได้รับอนุญาตให้ควบคุมเครือข่าย

อย่างใดผู้ใช้ทำกับ cron ไม่มีสิทธิ์เช่นเดียวกับตัวเอง ปัญหาคือเมื่อดำเนินการในฐานะรูทก็จะล้มเหลวเช่นกัน ข้อมูลประจำตัวสำหรับ VPN นั้นถูกเก็บไว้ในพวงกุญแจผู้ใช้ ดังนั้นรูทจึงไม่สามารถสร้างการเชื่อมต่อได้:-/

vn flag
สิ่งนี้ตอบคำถามของคุณหรือไม่ [ไม่สามารถสร้างงาน crontab สำหรับโปรแกรม scrapy ของฉัน](https://askubuntu.com/questions/1288111/cannot-create-a-crontab-job-for-my-scrapy-program)
hr flag
ฉันขอแนะนำให้คุณเริ่มต้นด้วยการบันทึกผลลัพธ์ + ข้อผิดพลาดจากสคริปต์ของคุณไปยังบันทึกเช่น `@reboot /bin/bash /home/user/reconnect.sh > /home/user/reconnect.log 2>&1` การตรวจสอบบันทึกอาจบ่งชี้ว่าปัญหาคืออะไร
user535733 avatar
cn flag
เมื่อคุณเรียนรู้วิธีเรียกใช้งาน @reboot ก็มักจะคุ้มค่ากับเวลาที่จะเรียนรู้ว่าเป้าหมาย systemd ทำงานอย่างไรเมื่อเริ่มต้น การใช้เป้าหมายช่วยให้คุณควบคุมได้มากกว่า cronjobs
Soren A avatar
mx flag
คุณสามารถเช็คอิน /var/log/syslog ถ้าสคริปต์เรียกใช้ cron
Sturmkater avatar
in flag
@PabloBianchi ไม่เศร้า แต่รู้วิธีเพิ่มเส้นทางทั้งหมดได้อย่างง่ายดาย!
Sturmkater avatar
in flag
@steeldriver ดี!!! การบันทึกมีประโยชน์มากสำหรับการแก้ไขปัญหา ขอบคุณ
hr flag
@Sturmkater ดูเหมือนว่าคุณควรทำผ่านแอปพลิเคชันเริ่มต้นของผู้ใช้มากกว่าผ่าน cron ดูตัวอย่าง [ฉันจะเริ่มแอปพลิเคชันโดยอัตโนมัติเมื่อเข้าสู่ระบบได้อย่างไร](https://askubuntu.com/questions/48321/how-do-i-start-applications-automatically-on-login)
Score:1
ธง it

งานวิ่งผ่าน ครอน, หรือ ระบบ สคริปต์เริ่มต้นใช้งานไม่ได้ทำงานในสภาพแวดล้อมรันไทม์เดียวกันกับที่คุณมีบนเดสก์ท็อป ระบบ สคริปต์เริ่มต้นทำงานเป็น ราก. ไม่มีของคุณ เส้นทาง การเปลี่ยนแปลงหรือการตั้งค่าตัวแปรสภาพแวดล้อมอื่นๆ จะถูกส่งไปยังของคุณโดยอัตโนมัติ ครอน งาน. ตัวอย่างเช่นไม่มี $จอแสดงผลดังนั้นโปรแกรม GUI จึงต้องการการดูแลเป็นพิเศษ (อ่าน ผู้ชาย xhost).

หนึ่งสามารถตั้งค่าตัวแปรสภาพแวดล้อมสำหรับทุกคน ครอน งานใน crontab ไฟล์ อ่าน ผู้ชาย 5 crontab.

ดูผลลัพธ์ของ echo "=== id ===;id;echo "=== ชุด ==";set;echo "=== env ==";env | sort;echo "=== นามแฝง ===";นามแฝง ในแต่ละสภาพแวดล้อมของคุณ

ตั้งแต่ สั่งการ ส่วนหนึ่งของ crontab บรรทัดถูกตีความโดยค่าเริ่มต้น /ถัง/shซึ่งมีไวยากรณ์ที่ง่ายกว่า /ถัง/ทุบตีฉันขอแนะนำให้มี สั่งการ เป็นสายไปยัง ทุบตี สคริปต์ (ปฏิบัติการ, เมาต์, ขึ้นต้นด้วย #!/bin/bash) ซึ่งตั้งค่าสภาพแวดล้อมแล้วเรียกใช้โปรแกรมที่ต้องการ

Score:0
ธง in

ขอบคุณ Steeldrive :-) ฉันเดาว่าเมื่อคุณเริ่มต้นด้วย GUI คุณจะต้องยึดติดกับมัน ข้อเสนอแนะของคุณใช้งานได้อย่างมีเสน่ห์

@Sturmkater ดูเหมือนว่าสิ่งที่คุณควรทำผ่านของคุณ แอปพลิเคชันเริ่มต้นของผู้ใช้ แทนที่จะใช้ cron ดูตัวอย่าง ยังไง ฉันจะเริ่มแอปพลิเคชันโดยอัตโนมัติเมื่อเข้าสู่ระบบหรือไม่ â นักขับเหล็ก

โพสต์คำตอบ

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