ฉันต้องการตั้งค่างานตามกำหนดเวลาผ่าน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/spool
whoami
ในสคริปต์จะให้ชื่อผู้ใช้หรือไม่
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