ฉันต้องการตั้งค่างานตามกำหนดเวลาผ่านanacronแต่ฉันต้องการทำในโหมดผู้ใช้ ฉันจะบรรลุสิ่งนี้ได้อย่างไร
ฉันต้องการตั้งค่างานตามกำหนดเวลาผ่านanacronแต่ฉันต้องการทำในโหมดผู้ใช้ ฉันจะบรรลุสิ่งนี้ได้อย่างไร
คำตอบ:
คุณสามารถตั้งค่าอินสแตนซ์ anacron แยกต่างหากให้ทำงานในโหมดผู้ใช้:
สร้าง.anacronโฟลเดอร์ในโฮมไดเร็กทอรีของคุณและในโฟลเดอร์ย่อยสองโฟลเดอร์etcและspool:
mkdir -p ~/.anacron/{etc,spool}สร้างไฟล์ใหม่ที่~/.anacron/etc/anacrontabมีเนื้อหาคล้ายกับที่แสดงต่อไปนี้:
# /etc/anacrontab: configuration file for anacron
# See anacron(8) and anacrontab(5) for details.
SHELL=/bin/bash
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
# period delay job-identifier command
1 10 testjob test.shเพิ่มบรรทัดต่อไปนี้ใน crontab ของคุณโดยใช้crontab -e:
@hourly /usr/sbin/anacron -s -t $HOME/.anacron/etc/anacrontab -S $HOME/.anacron/spoolwhoamiในสคริปต์จะให้ชื่อผู้ใช้หรือไม่
anacronเป็นระยะ ดูเหมือนว่าจะทำงานครั้งเดียวแล้วออกจาก Anacron ของระบบถูกเรียกหนึ่งครั้งทุกชั่วโมง ผมคิดว่าเป็นกลยุทธ์ที่คล้ายกันจะทำงานที่นี่คือเรียกผู้ใช้จากผู้ใช้anacron crontab
/etc/apm/event.d/anacronและ/etc/init/anacron.confดูแลการรีสตาร์ท
01 * * * * /usr/sbin/anacron -t /home/user/.anacron/etc/anacrontab -S /home/user/.anacron/spool
สิ่งนี้ใช้งานได้สำหรับฉัน (ขอบคุณ) แต่ฉันไม่ได้ใช้ขั้นตอนสุดท้ายในคำตอบ:
จากนั้นเพิ่มบรรทัดต่อไปนี้ใน
~/.profile:
ฉันใช้ Ubuntu Studio 12.10 Quantal และในกรณีของฉันแทนที่จะเป็นขั้นตอนสุดท้ายฉันวางซับไว้ที่นี่: "เมนูแอปพลิเคชัน" → "การตั้งค่า" → "เครื่องมือจัดการการตั้งค่า" จากนั้นในเครื่องมือจัดการการตั้งค่าภายใต้ "เซสชันและเริ่มต้น" แท็บ“ แอปพลิเคชันเริ่มอัตโนมัติ”
นี่คือสำหรับพวกเราที่เป็นผู้ใช้ GUI เพราะ~/.profileมีแหล่งที่มาจากการทุบตีเมื่อมันเริ่มเปลือกแบบโต้ตอบในการเข้าสู่ระบบ (แม้~/bashrcจะไม่ได้มีประโยชน์มากนักเพราะมันจะเป็นแหล่งที่มาเท่านั้นเมื่อทุบตีเริ่มต้นเปลือกแบบโต้ตอบ)
.profileได้ดีสำหรับฉันเสมอ (Ubuntu 12.04 ที่นี่)
sudo -u <user>เตรียมงานก่อนในanacrontab