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.