web-dev-qa-db-ja.com

cronを使用してapt-getスクリプトをスケジュールする

私はLinuxに慣れていないので、cronを使用してタスクをスケジュールする方法を学びました。これまで手作業で使用してきた小さなシェルスクリプトがあります。

Sudo apt-get check && Sudo apt-get update && Sudo apt-get upgrade && Sudo apt-get autoremove && Sudo apt-get autoclean

Cronを使用してスケジュールを設定したいので、毎日手動で実行することはありませんが、実行できないようです。続行するためにSudoパスワードが必要なためだと思いますか?アップグレードなどを自動的に受け入れずにこの作業を行う方法はありますか?

4
Alexandru Banu

代わりに「無人アップグレード」を使用することをお勧めします。

その目的は、コンピューターを最新のセキュリティ(およびその他の)更新で自動的に最新の状態に保つことです。 [1]

インストールする:

Sudo apt install unattended-upgrades

動作させる方法の詳細については、 here を参照してください。


質問に対処するには、/etc/crontabファイルを編集し、独自の「crontab」ファイルでrootを使用せずにSudoユーザーを使用してコマンドを実行できます。

nano /etc/crontab

次のような行を追加します。

45 21 * * * root apt-get update > /home/ravexina/out.log

毎晩「21:45」にrootユーザーを使用してapt-get updateを実行し、出力を/home/ravexina/out.logに記録します。

6
Ravexina