お使いのLinux環境のPythonのバージョンが分かりませんでしたので、
2.7と3.5以上で動作するスクリプトを作って確認しました。
#Python2用(2.7)
Python
1#!/usr/bin/python2
2#python2
3
4from subprocess import call
5
6call(['/sbin/shutdown', '-h', '1'])
7
#Python3用(>=3.5)
Python
1#!/usr/bin/python3
2#python3 (>=3.5)
3
4import subprocess
5
6subprocess.run(('/sbin/shutdown', '-h', '1'))
どちらも、以下のコマンドを実行するものです。
Shell
1# /sbin/shutdown -h 1
- cronジョブ中でshutdownnしてしまうのもどうかと思ったので、1分後にshutdownが実行されるようオプションを指定しています。
- sudo を利用しての実行ではcronジョブ内でパスワードを聞かれることになるので、/sbin/shutdownコマンドが実行されず、シャットダウンされません。
設定にもよりますが、スーパーユーザー(root)でcrontab に登録する必要があるかと思います。
どちらもUbuntu 17.04(x86)でrootでcrontabに登録し、動作することを
確認していますが、お使いのLinux環境で動作するか不確かです。
「インスタンス」と言う言葉を使われているので、何らかのクラウド上のLinux VMをお使いなのだと推察いたしますが、クラウドのプラットフォームによっては
「Linux VMの中からshutdown しても課金は続きます。管理コンソールからインスタンスの停止をしてください。」
とのようなものもあったと思います。この辺りはお使いの環境をご考慮ください。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/10/13 18:05