昨日の機能にシャットダウン機能を追加しました
#!/usr/bin/python3.7
# -*- coding: utf-8 -*-
import datetime
import time
import sys, select
import subprocess as sp
#今日を取得
today = datetime.date.today()
print(today)
print("実行日を更新しますか?(y or notuch is run): ")
#インプット選択10秒間キー入力がなければマイナス一日
i, o, e = select.select( [sys.stdin], [], [], 10 )
if (i):
print("input", sys.stdin.readline().strip())
a = "y"
else:
print("notuch key")
a = "n"
if a == "y":
global b
global f
b = input("何日後に設定しますか?: ")
print("実行日まであと{}日です".format(b))
f = open('jigensave.txt','w')
f.write(b)
f.close()
elif a == "n":
f = open('jigensave.txt')
for b in f:
b = int(b) - 1
print("実行まであと{}日です".format(b))
f = open('jigensave.txt','w')
f.write(str(b))
f.close()
#実行日を決定
future = today + datetime.timedelta(days=int(b))
#実行日から30日を取得(継続期間)
dur = future + datetime.timedelta(days=30)
#継続期間表示
for i in range((dur - future).days + 1):
jikkou = future + datetime.timedelta(days = i)
if today < jikkou:
print(str(jikkou) + ":実行予定です")
elif today > jikkou:
print(str(jikkou) + ":過去へ戻ることはできません")
elif today == jikkou:
print("実行しました")
#シェルコマンドを実行
cmd = "ls "
sp.call( cmd, shell=True )
print("実行日でなければ5秒後にソフトをキルします")
#起動後5時間後にPCをシャットダウン
cmd2 = "shutdown -h +300"
sp.call( cmd2, shell=True )
time.sleep(5)
#!/usr/bin/python3.7
# -*- coding: utf-8 -*-
import datetime
import time
import sys, select
import subprocess as sp
#今日を取得
today = datetime.date.today()
print(today)
print("実行日を更新しますか?(y or notuch is run): ")
#インプット選択10秒間キー入力がなければマイナス一日
i, o, e = select.select( [sys.stdin], [], [], 10 )
if (i):
print("input", sys.stdin.readline().strip())
a = "y"
else:
print("notuch key")
a = "n"
if a == "y":
global b
global f
b = input("何日後に設定しますか?: ")
print("実行日まであと{}日です".format(b))
f = open('jigensave.txt','w')
f.write(b)
f.close()
elif a == "n":
f = open('jigensave.txt')
for b in f:
b = int(b) - 1
print("実行まであと{}日です".format(b))
f = open('jigensave.txt','w')
f.write(str(b))
f.close()
#実行日を決定
future = today + datetime.timedelta(days=int(b))
#実行日から30日を取得(継続期間)
dur = future + datetime.timedelta(days=30)
#継続期間表示
for i in range((dur - future).days + 1):
jikkou = future + datetime.timedelta(days = i)
if today < jikkou:
print(str(jikkou) + ":実行予定です")
elif today > jikkou:
print(str(jikkou) + ":過去へ戻ることはできません")
elif today == jikkou:
print("実行しました")
#シェルコマンドを実行
cmd = "ls "
sp.call( cmd, shell=True )
print("実行日でなければ5秒後にソフトをキルします")
#起動後5時間後にPCをシャットダウン
cmd2 = "shutdown -h +300"
sp.call( cmd2, shell=True )
time.sleep(5)
これを一応デスクトップに置いているので
デスクトップエントリーに記述
[Desktop Entry]
Name=jigen2py
Exec=lxterminal -e python3.7 /home/xtoran/Desktop/jigen2.py
Type=Application
を/home/ユーザー名/.config/autostart
にjigen2py.desktopで保存(権限注意)
この設定ではスクリプト起動後5時間後にパソコンがシャットダウンします
えくすとらんの場合はbiostimer設定によって朝5時15分に
ブートしスクリプト初回手動起動30日後にコマンド実行の設定、
キー入力がなければ5時間後にシャットダウン・次の朝
オートでブート。スクリプト起動でキー入力なければ
29日後にコマンド実行と、コマンド実行日をマイナスしていきます
一応これでできたかなぁ^^
倉庫にpyファイルと記述済みデスクトップエントリーをいれておきました
0 件のコメント:
コメントを投稿