最初のcronジョブを設定する方法がわかりません。このコマンドを毎週1回実行したいだけです。
dpkg -l > ~/Dropbox/installed_packages
ぼくの /etc/crontab
ファイルに次の行が含まれています
7 6 * * 7 root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
したがって、コマンドをディレクトリ/etc/cron.weeklyのどこかに配置する必要がありますが、どのファイルに配置する必要がありますか? /etc/cron.weekly
現在、次のファイルが含まれています。
apt-xapian-index man-db 0anacron cvs
次の内容のファイルを作成します(例:list_packages.sh
):
#!/bin/bash
dpkg -l > ~/Dropbox/installed_packages
このファイルを/etc/cron.weekly/
に配置すると、週に1回実行されます。
これをスクリプトとして保存します。たとえば、installed_packages_list.sh
:
#!/bin/bash
dpkg -l > ~/Dropbox/installed_packages
実行可能にします。
chmod u+x installed_packages_list.sh
次に実行します
crontab -e
これにより、テキストエディタでファイルが開きます。これを入力して保存します
@weekly /full/path/to/script
スクリプトは、cronジョブをスケジュールしたユーザーの権限で、週に1回実行されます。
まず、これを行うために、スーパーユーザーとしてジョブを実行する必要はありません。
これを解決する最も簡単な方法は、通常のユーザーのcrontabを次の方法で編集することです。
crontab -e
EDITOR環境変数に応じて、ユーザーのcrontabがお気に入りのテキストエディターで開きます。
そこに次のようなものを追加できます
# m h dom mon dow command
5 12 * * 1 bash $HOME/pkg.backup.sh
次に、dpkgコマンドを含むpkg.backup.shファイルを作成する必要があります。
ところで、マシンの現在のパッケージ状態(別名パッケージ選択)を簡単に復元できるようにしたい場合は、このコマンドラインはよりターゲット指向です。
dpkg --get-selections > foo
復元するには、入力するだけです
dpkg --set-seclections < foo
実際、正確なパッケージのバージョン番号をログに記録したい場合は、それに加えてdpkg-lが役立ちます。