ページ 13

Pschedule0.4-puppy4.00.3-

Posted: 08/08/29(金) 09:23
by macchan
puppy4.00.3から初めて使いはじめていますが、タスクの記載内容がPCをシャットダウンすると消えていまいます。
シャトダウン前にsaveしても同様です。
アプリを終了しそれを再び起動では消えません。
ざっとグーグルで調べたましたが見つけ出せませんでした。
何かアドバイスを頂けましたら幸いです。

Posted: 08/09/11(木) 21:24
by jake
Pscheduleのデータは/var/spool/cron/crontabs以下に保存されるのですが、シャットダウンすると、なぜかこの部分のデータは消えてしまうようです。そこで、Pscheduleを終了するときにはデータを他の場所に保存し、Pscheduleを起動したときには、そこから、データを/var/spool/cron/crontabsに移すようにしてはどうでしょうか?
具体的には、/usr/local/pschedule/pscheduleに以下の行を追加します。
1) 最初の方の、
#Thanks to HairyWill for advanced bash help.
の次に

コード: 全て選択

cp -r -f /etc/pschedule/crontabs /var/spool/cron
2) 最後の方の
case $EXIT in
*) rm /tmp/pschedule*
の次に、

コード: 全て選択

mkdir /etc/pschedule
cp -r -f /var/spool/cron/crontabs /etc/pschedule
の2箇所です。少し、試してみましたが、シャットダウンしてもデータはなくならず、他に特に問題はないようでした。ここでは、/etc/pscheduleというフォルダを作りましたが、他の場所でもよいと思います。

Posted: 08/09/11(木) 21:43
by jake
注意点をひとつ。
シャットダウンする前にPscheduleを終了しないと、データは保存されません。必ず、Pscheduleを終了してからシャットダウンしてください。

Posted: 08/09/12(金) 09:28
by macchan
jakeさん、大正解のアドバイスを頂きありがとうございます。m(_ _)m
その通りにやってみましたところ、うまくゆきました!\(^o^)/
ところでシャットダウンすると消えてしまうデータの解説はどこかにあるのでしょうか? (・_・?)

Posted: 08/09/12(金) 19:26
by jake
macchanさん さんが書きました:ところでシャットダウンすると消えてしまうデータの解説はどこかにあるのでしょうか?
いえ、私はヘルプとか全く見ていませんので....。スクリプトを見てたら、データが納められる場所はわかりました。しかし、シャットダウン&再起動でどうして、データが消えてしまうのかはわかりません。

Posted: 08/09/12(金) 19:30
by jake
シャットダウンする前にPscheduleを終了しないと、データは保存されません。必ず、Pscheduleを終了してからシャットダウンしてください。
以下の2箇所の追加でスケジュールの入力/訂正/削除完了で/etc/pscheduleにコピーが作成されます。(Pscheduleの終了前にコピーが作成されます。)

1)
/usr/local/pschedule/func_newの143行目の
killall -q crond; crond #restart cron
の前に

コード: 全て選択

cp -r -f /var/spool/cron/crontabs /etc/pschedule
という行を追加する

2)
/usr/local/pschedule/func_deleteの最後の方の
killall -q crond; crond #restart cron
の前に

コード: 全て選択

cp -r -f /var/spool/cron/crontabs /etc/pschedule
という行を追加する

Posted: 08/09/12(金) 19:38
by jake
ひとつ気になったのですが、既存のタスクの編集しようとしても、そのコマンド(タスクの名前)が、必ず、gxmessage "Happy Puppy"となります。
で、これを元のものにするには、
/usr/local/pschedule/func_newの51行目の
TASK='gxmessage "Happy Puppy"'
の行頭に#をつけて、この行を無効にすればよいみたいです。こうすると、新規にタスクを作るときにはコマンドのところが空欄ですが、編集するときには本来のタスクのコマンドが表示されます。

Posted: 08/09/13(土) 09:35
by jake
その後の検証で、pup_save.2fsに保存する際に/varは保存されないことがわかりました。(/usr/sbin/snapmergepuppyの中に保存しないディレクトリのリストがあり、その中の^var(2箇所)を削除すると、/varが保存されますが、前回起動時の/var/log/messageなんかも残ったりしますので、保存しないのが妥当とは思います。)
となると、こんな次回の起動まで保存できないような場所にデータを置いておくということ自体、問題だと思います。ざっと、調べたところ、Pschedule-0.5(Puppy 4.1alpha7)
でも改善されていないようです。

Posted: 08/09/13(土) 10:05
by macchan
jakeさん、非常に詳細な検証のご報告をありがとうございます。m(_ _)m
/varはpup_save.2fsに保存されないんですかあ。(゚゚)
/usr/sbin/snapmergepuppyの中の保存しないディレクトリのリストに気をつけないといけないんですね。
今までに保存されないデーターがちょくちょくあったんですが、そういう事なんですね。
スケジュールの入力/訂正/削除完了で/etc/pscheduleにコピーが作成される記述の報告もありがとうございます。

Posted: 08/09/13(土) 10:46
by jake
念のため警告!!
/usr/sbin/snapmergepuppyはいじらない方がいいです!!
ひとつ気になったのですが、既存のタスクの編集しようとしても、そのコマンド(タスクの名前)が、必ず、gxmessage "Happy Puppy"となります。.....
この件に関しては最新版のPshedule-0.6で改善されています。(残念ながら英語です)
http://home.no.net/zigbert/downloaders/ ... le-0.6.pet

Pscheduleというのは使ってみると便利です。時間を忘れてPCに没頭しているときとかに時間を知らせてくれたりしますので。

Posted: 08/09/13(土) 10:55
by 暇人
ところで

うちの400.3だと何の問題もなく保存されてるんだけど....

Posted: 08/09/13(土) 11:17
by jake
え?何で?pup_saveにですか?ちなみにブートは?私はUSBですが。

Posted: 08/09/13(土) 11:26
by jake
ミスを発見。
9月 11, 2008 9:24 pm投稿の
具体的には、/usr/local/pschedule/pscheduleに以下の行を追加します。
具体的には、/usr/local/pschedule/pschedule/とusr/local/bin/pscheduleに以下の行を追加します。
です。同じファイルが/usr/local/binにもあることを見落としていました。

Posted: 08/09/13(土) 11:42
by jake
バグを発見
9月 12, 2008 7:38投稿
こうすると、新規にタスクを作るときにはコマンドのところが空欄ですが、編集するときには本来のタスクのコマンドが表示されます。
空欄のタスクをつくってしまった場合、それを削除すると、他の全てのタスクも削除されてしまいます。
空欄タスクを作ってしまったら、Pscheduleを終了し、/etc/pschedule/crontabsがある場合は、その中のファイルを、無い場合は/var/spool/cron/crotabs内のファイルを手動で編集してください。(空欄タスクの行を削除する)
また、 /usr/local/pschedule/func_newの51行目の
TASK='gxmessage "Happy Puppy"'
をPschedule-0.6のように

コード: 全て選択

if [ "$MODE" != "-edit" ]; then TASK='gxmessage "Happy Puppy"'; fi
と変更すると、新規作成でタスク欄が空欄になりません。

Posted: 08/09/13(土) 12:41
by 暇人