cronはLinuxで動作するタイムスケジューラです。実行するジョブの日時を指定しておくだけで、指定した日時になったら、記述されているジョブが実行されます。
プログラミングによって開発したシェルスクリプトやPythonなどのプログラムを自動的に実行できるので、定期的に行わなければならない事務作業が大幅に軽減されます。
cronのメリットは、GUIのプログラムであっても動作させることができる点です。特にVLCやFirefoxなどのデスクトップ上でも動作させたいプログラムを時間指定で実行できるので、自動化で起動できるプログラムに制限がありません。
WindowsやMacOSにも同様のタイムスケジューラが用意されていますが、cronの場合は管理者権限で動作させることも簡単なので、サーバー側の処理も難なく行うことができます。
cronで指定できる日時は、時刻と日付と曜日になっており、年数には対応していませんが日時と曜日を指定することで実質一回だけ実行させることも可能です。cronではOSが起動したときに一回だけ実行させることもできます。
実行する日時を指定する場所にbootと指定しておくだけで、起動時に自動的にやってくれます。ただし、起動直後の場合、関連するライブラリやプログラムなどが動作していないことがあるので、失敗してしまうこともあります。
この問題を避けるために、事前にsleepコマンドを打って、処理を遅らせておくことが重要です。以上の点からcronはプログラミングによって開発したソフトを日時指定で定期的に実行させることが可能なので、作業の効率化や作業をし忘れてしまうと行ったことを防ぐことができます。
実行したコマンドはcronのログに格納され、動作しなかったり実行中にエラーが出た場合は全てログに記録される仕組みになっています。ログは圧縮され保存する仕組みになっているので、過去のログは展開が必要です。