since: 2015/12/05
update: 2015/12/05
A. 手動校時: $ date
$ date --help | more
// date MMDDhhmm
$ sudo date 11201458
-----------------------------------------------------------------------------------------------
B. 開機後自動執行 python 程式:
1. 撰寫執行 python 的 shell script:
/home/pi/project/run_my_job.sh
#!/bin/sh
cd /home/pi/project
python main_script.py
2. 開機後自動登入 pi 帳號:
$ sudo nano /etc/inittab
....
#1:2345:respawn:/sbin/getty --noclear 38400 tty1
1:2345:respawn:/bin/login -f pi tty1 </dev/tty1 >/dev/tty1 2>&1
3. 設定排程:(關機與啟動程式)
$ sudo crontab -e
....
# m h dom mon dow command
00 17 * * * /sbin/shutdown -h now
@reboot /home/pi/project/run_my_job.sh
-----------------------------------------------------------------------------------------------
C. 這次開機, 距離上次開機時間超過 60 秒, 會再重新開機一次
1. 記錄時間的檔案:
/home/pi/project/check_time.txt
檔案內容:(格式: YYYYMMDDhhmmss 每次開機後會被覆寫以更新時間)
20151120115130
2. 檢查的程式:
/home/pi/project/check_reboot.sh
程式內容:
#!/bin/bash
nowtime=`date +%Y%m%d%H%M%S`
lasttime=$(</home/pi/project/check_time.txt)
echo "lasttime: $lasttime"
echo "nowtime: $nowtime"
echo $nowtime > /home/pi/project/check_time.txt
difftime=$(echo $(( nowtime - lasttime )))
echo "difftime: $difftime"
if [ $difftime -gt 60 ]; then
echo "reboot"
sudo reboot
fi
說明: -gt: greater then ; -st: smaller then
3. 加入排程:
$ sudo crontab -e
....
# m h dom mon dow command
00 17 * * * /sbin/shutdown -h now
@reboot /home/pi/project/run_my_job.sh
@reboot /home/pi/project/check_reboot.sh
沒有留言:
張貼留言
注意:只有此網誌的成員可以留言。