使わない crontab -e
crontab -eルートとしては入れません。これは一般に他の管理者にはあまり明白ではなく、時間の経過とともに失われる可能性があります。それらを配置/etc/crontabすることで、実行する時間を正確に指定でき、別のユーザーも指定できます。
別の場所
別のユーザーとしてスクリプトを実行する必要がない場合、および/またはスクリプトを毎週、毎日などに実行する場合は、いくつかのディストリビューションが、特定の時間に自動的に処理されるスクリプトを配置できるディレクトリを提供します。
たとえば、Redhatベースのディストリビューションでは:
$ ls -dl /etc/cron*
drwxr-xr-x. 2 root root 4096 Nov 29 11:06 /etc/cron.d
drwxr-xr-x. 2 root root 4096 Nov 29 11:06 /etc/cron.daily
-rw-------. 1 root root 0 Nov 23 07:42 /etc/cron.deny
drwxr-xr-x. 2 root root 4096 Nov 29 11:03 /etc/cron.hourly
drwxr-xr-x. 2 root root 4096 Nov 29 11:06 /etc/cron.monthly
-rw-r--r--. 1 root root 457 Sep 26 2011 /etc/crontab
drwxr-xr-x. 2 root root 4096 Sep 26 2011 /etc/cron.weekly
特に、より複雑なスクリプトの場合/etc/cron.dは/etc/crontab、特定の時間に実行したいシステムレベルのcronをの代わりに使用することがよくあります。
私は下のディレクトリを使用して好む/etc/cron*彼らは、他のシステム管理者が見て知っているだろうし、ここでのファイルのようなパッケージのインストールを介して管理することができることをより多くの明白な場所だからrpm、および/またはapt。
エントリーの保護
私が言及したディレクトリはいずれも、パッケージマネージャーによって破棄されないスクリプトを置くために指定されています。crontabエントリーの保護について心配している場合は、/etc/crontabファイルに入れず、適切なスクリプトとしていずれかの/etc/cron*ディレクトリーに入れます。