複数のジョブを実行するように設定しましたが、anacron
奇妙な権限エラーが原因で失敗しているようです。
これは私のものですanacrontab
:
# /etc/anacrontab: configuration file for anacron
# See anacron(8) and anacrontab(5) for details.
SHELL=/bin/sh
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
# the maximal random delay added to the base delay of the jobs
RANDOM_DELAY=45
# the jobs will be started during the following hours only
START_HOURS_RANGE=3-22
#period in days delay in minutes job-identifier command
1 5 cron.daily nice run-parts /etc/cron.daily
7 25 cron.weekly nice run-parts /etc/cron.weekly
@monthly 45 cron.monthly nice run-parts /etc/cron.monthly
@daily 1 bashrc.daily rsync -aAX $HOME/.bashrc /run/media/MYUSER/samsung/home/MYUSER/.bashrc
@daily 1 bash_aliases.daily rsync -aAX $HOME/.bash_aliases /run/media/MYUSER/samsung/home/MYUSER/.bash_aliases
@daily 5 variety.daily rsync -aAX $HOME/.config/variety/ /run/media/MYUSER/samsung/home/MYUSER/.config/variety/
@daily 3 testfile.daily rsync -aAX $HOME/Documents/flag.hs /run/media/MYUSER/samsung/flag.hs
@weekly 5 st_apps.daily rsync -aAX $HOME/.local/share/Steam/steamapps/ /run/media/MYUSER/samsung/home/MYUSER/.local/share/Steam/steamapps/
@weekly 15 st_ud.daily rsync -aAX $HOME/.local/share/Steam/userdata/ /run/media/MYUSER/samsung/home/MYUSER/.local/share/Steam/userdata/
@weekly 1 anacrontab.weekly rsync -aAX /etc/anacrontab /run/media/MYUSER/samsung/home/anacrontab
これはの出力ですjournalctl -b --no-pager --catalog | grep anacron
jan. 14 00:02:09 MYPC anacron[73073]: Anacron started on 2022-01-14
jan. 14 00:02:09 MYPC anacron[73073]: Can't open timestamp file for job cron.daily: Permission denied
jan. 14 00:02:09 MYPC anacron[73073]: Aborted
jan. 14 00:02:42 MYPC sudo[73113]: MYUSER : TTY=pts/0 ; PWD=/home/MYUSER ; USER=root ; COMMAND=/usr/bin/dd bs=4k of=/etc/anacrontab
jan. 14 00:02:50 MYPC sudo[73124]: MYUSER : TTY=pts/0 ; PWD=/home/MYUSER ; USER=root ; COMMAND=/usr/bin/dd bs=4k of=/etc/anacrontab
誰でもお願いしますお願いします私を正しい方向に押しますか?
システム:Fedora 35
答え1
以前は仕事をしていましたが、anacron
もう働かなかったので、別のアプローチを取ることにしました。権限を昇格せずに実行できるようにするには、次の手順を実行する必要があります。
- 次のコマンドを使用して、ホームディレクトリにフォルダ
.anacron
と2つのサブディレクトリ(および)を作成しますetc
。spool
mkdir -p ~/.anacron/{etc,spool}
etc
元のファイルと同様のものを実行して、touch $HOME/.anacron/etc/anacrontab
ディレクトリに新しいファイルを作成します/etc/anacrontab
。たとえば、
# Personal anacrontab
SHELL=/bin/bash
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
#period in days delay in minutes job-identifier command
@daily 1 bashrc.daily rsync -aAXr $HOME/.bashrc /run/media/myuser/samsung/home/myuser/.bashrc
@daily 1 bash_aliases.daily rsync -aAXr $HOME/.bash_aliases /run/media/myuser/samsung/home/myuser/.bash_aliases
- 端末で
crontab -e
次のように入力して追加します。
@hourly /usr/sbin/anacron -s -t $HOME/.anacron/etc/anacrontab -S $HOME/.anacron/spool
cronが時間ごとのジョブを実行するのを待つことをテストするか、または実行してanacron
すぐに強制的に実行できるようにすることができますanacron -fnd -t $HOME/.anacron/etc/anacrontab -S $HOME/.anacron/spool/
。
これが今後他の人に役立つことを願っています!