Anacron'u kullanıcı modunda nasıl çalıştırabilirim?


30

Zamanlanmış bir görev ayarlamak istiyorum anacronancak bunu kullanıcı modunda yapmak istiyorum. Bunu nasıl başarabilirim?


Görevin kullanıcı modunda çalışmasını istiyorsanız, yaptığım şeyi yapabilir sudo -u <user>ve görevden önce anacrontab
hazırlayabilirsiniz

2
Ayrıca burada cevaplandı: serverfault.com/questions/172989/user-specific-anacrontab/… ve işte size tamamen iyi yazılmış bir çözüm: akeil.net/posts/user-controlled-anacron.html
Simon Woodside

Yanıtlar:


33

Kullanıcı modunda çalışmak için ayrı bir anacron örneği oluşturabilirsiniz:

  1. Giriş .anacrondizininizde ve iki alt klasörde bir klasör oluşturun etcve spool:

    mkdir -p ~/.anacron/{etc,spool}
  2. ~/.anacron/etc/anacrontabAşağıdakine benzer içeriğe sahip yeni bir dosya oluşturun :

    # /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
  3. Aşağıdaki satırı kullanarak crontab'ınıza ekleyin crontab -e:

    @hourly /usr/sbin/anacron -s -t $HOME/.anacron/etc/anacrontab -S $HOME/.anacron/spool

Sadece onaylamak için, belirtilen betiği kullanıcı olarak çalıştırır, böylece whoamibetiğin içindeki a kullanıcı adını verir?
Christoph

hm evet, daha fazla denetlemede neden olmadığını anlamıyorum ...
Christoph

3
Bence anacronperiyodik olarak koşmaya ihtiyacın var ; bir kez koşuyormuş gibi görünüyor, sonra bıraktım. Sistemin anakronu saatte bir kez denir. Ben yani kullanıcıyı diyoruz, benzer bir strateji burada çalışmak herhalde anacronkullanıcıdan crontab.
Sparhawk

1
@Sparhawk özellikle Ubuntu 15.10 anacron kullanımlar hem de kabul etti /etc/apm/event.d/anacronve /etc/init/anacron.confyeniden bakmak.
Ciro Santilli,

1
Anakronu saat başı bir cron işi ile çalıştırmalısın, örneğin01 * * * * /usr/sbin/anacron -t /home/user/.anacron/etc/anacrontab -S /home/user/.anacron/spool
Simon Woodside

0

Bu benim için işe yaradı (teşekkürler), ancak cevapta verilen son adımı kullanmadım:

Ardından, aşağıdaki satırı bilgisayarınıza ekleyin ~/.profile:

Ubuntu Studio 12.10 Quantal kullanıyorum ve benim durumumda bu son adımın yerine, bir astarı buraya koydum: “Uygulamalar Menüsü” → “Ayarlar” → “Ayarlar Yöneticisi”, daha sonra “Oturum ve Başlangıç” altındaki Ayarlar Yöneticisi “Application Autostart” sekmesi.

Bu, GUI kullanıcısı olan bizler ~/.profileiçindir , çünkü yalnızca oturum açma etkileşimli bir kabuk başlattığında bash tarafından kaynaklanır ( ~/bashrcyalnızca bash etkileşimli bir kabuk başlatırken kaynaklandığı için çok da kullanışlı değildir).


Mmh, ben bir GUI kullanıcısıyım ve içerideki hat .profileher zaman benim için iyi çalıştı (burada Ubuntu 12.04).
Eylül’de
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.