細かい書式はITProを見ていただくとして、時間指定は時刻だけでなく、今からx分後、と言った指定もできます。
また、atコマンドをそのまま利用すると、標準入力でコマンドを書き込むモードになりますが、下記のようにするとファイルの内容をコマンドとして設定できます。
$cat testCommand ls $at now+5minutes < ./testCommand
$cat testCommand ls $at now+5minutes < ./testCommand
Ubuntu 12.04以降(2015年2月時点で14.04までOK)でPythonで作成したスクリプトをdaemon化する場合、upstartに任せてしまうのが便利です。
サンプルはここに置きました。
参考:http://heartbeats.jp/hbblog/2013/02/upstart-daemon.html
なお、upstartを利用しているディストリビューションでも、設定ファイルをインストールするフォルダが異なることがあるようなので、Ubuntu以外を利用している人は設定ファイルの保存先を変更してください。
Ubuntuではサービスの起動にupstartを利用できるようになっています。
upstartでサービスの起動を行う場合、以下のようなファイルを/etc/init以下に保存し、「/sbin/initctl reload-configuration」で設定を再読み込みします。
#/etc/init/python_daemon_example.conf description "python daemon example" author "ccat" start on runlevel [2345] stop on runlevel [016] chdir /usr/local/python_daemon_example exec python daemon.py respawn
cp ./python_daemon_example.conf /etc/init/python_daemon_example.conf /sbin/initctl reload-configuration
sudo apt-get install python-virtualenv #virtualenvパッケージをインストール virtualenv ./env #python環境を./envに作成 sudo apt-get install libjpeg8 libjpeg8-dev libpng12-0 libpng12-dev python-dev #PIL/Pillowに必要なパッケージをインストール source ./env/bin/activate # virtualenvの環境を有効化 pip install pillow # or "pip install PIL". pillowかPILをインストール
$ free -k
total used free shared buffers cached
Mem: 604340 587692 16648 0 44980 375884
-/+ buffers/cache: 166828 437512
Swap: 0 0 0
sudo dd if=/dev/zero of=/swapfile bs=1024 count=1208680 #中身が0で埋め尽くされた約1.2GBのファイル作成 sudo mkswap /swapfile #作成したファイルをSwapファイルに変換 sudo swapon /swapfile #作成したSwapファイルをマウント sudo cp /etc/fstab /etc/fstab.old sudo sh -c 'echo "/swapfile swap swap defaults 0 0" >> /etc/fstab' #fstabに設定し、自動マウントする
free -k
total used free shared buffers cached
Mem: 604340 178708 425632 0 9812 46968
-/+ buffers/cache: 121928 482412
Swap: 1208676 0 1208676