GroupSession
GroupSession 4.0.2Windows Server 2008 R2 amd64 6.1Apache Tomcat/6.0.35Java 1.7.0_02日次バッチ処理でバックアップが失敗しています。error.logファイルに以下の内容が出力されています。IOExcetion: プロセスはファイルにアクセスできません。別のプロセスがファイルの一部をロックしています。自動バックアップ、手動バックアップとも取れない状態です。ご教授をおねがいします。
いつからバックアップに失敗するようになったのでしょうか。最初からであれば、バックアップディレクトリのアクセス権を疑った方がいいかもしれません。Everyoneに対して全アクセス許可の状態ではいかがですか?
> いつからバックアップに失敗するようになったのでしょうか。導入当初は毎日、スケジュールでバックアップが取れていたのですが、ある日を境に、失敗するようになりました。Webメールを使用するようになっていから、失敗しているような気がします。
エラーログを掲載して識者のコメントを待ってみてはいかがでしょうか。また、ある日を境にということですが、残りディスク容量等は大丈夫でしょうか。(どこかでWebメールは大量にHDDを食い潰すような記事をみた気が…)と書いてみたものの、ロックとは無縁ですよね。
回答ありがとうございます。ディスクの容量は問題ありませんでした。ログファイルを添付します。よろしくお願いします。2012-04-25 05:00:11,775 ERROR jp.groupsession.v2.man.ManBatchBackupListenerImpl: - 自動バックアップに失敗java.io.IOException: プロセスはファイルにアクセスできません。別のプロセスがファイルの一部をロックしています。 at java.io.FileInputStream.readBytes(Native Method) at java.io.FileInputStream.read(Unknown Source) at java.io.BufferedInputStream.fill(Unknown Source) at java.io.BufferedInputStream.read1(Unknown Source) at java.io.BufferedInputStream.read(Unknown Source) at jp.co.sjts.util.archive.ZipUtil.__createZip(ZipUtil.java:176) at jp.co.sjts.util.archive.ZipUtil.__createZip(ZipUtil.java:167) at jp.co.sjts.util.archive.ZipUtil.__createZip(ZipUtil.java:167) at jp.co.sjts.util.archive.ZipUtil.__createZip(ZipUtil.java:167) at jp.co.sjts.util.archive.ZipUtil.__createZip(ZipUtil.java:147) at jp.co.sjts.util.archive.ZipUtil.zipDir(ZipUtil.java:127) at jp.groupsession.v2.man.ManBatchBackupListenerImpl.doBackup(ManBatchBackupListenerImpl.java:182) at jp.groupsession.v2.batch.DayJob.executeDayBatch(DayJob.java:108) at jp.groupsession.v2.batch.DayJob.execute(DayJob.java:70) at jp.groupsession.v2.cmn.quartz.AbstractJob.execute(AbstractJob.java:93) at org.quartz.core.JobRunShell.run(JobRunShell.java:202) at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:529)
バックアップに失敗する件、こちらの環境でも発生しております。自動バックアップの履歴を調べたところ、2012年4月22日分までは正常にバックアップできておりました。その後返信が続いていないということは解決されたのでしょうか。何か有効な対策がありましたら書き込みいただけますと助かります。よろしくお願いいたします。
本件、私の所の環境「winsrver2012」でも発生しております。フォルダのアクセス権もEveryoneまで、フルアクセスにしてみましたがダメでした。解決方法が、お判りになる方がいらっしゃいましたら、ご教授願います。
まずはエラーログを観察してください。何のエラーで処理が止まったかのヒントがあるはずです。コネクションの問題なのか、ファイルアクセスの問題なのか、DBロックが発生しているなど…エラー発生箇所から遡っていけば、原因がわかるはずです。現象だけみていては原因は掴めません。
ログも確認せず、質問をしてしまい、大変失礼致しました。先ずは、ご指摘ありがとうございます。本件の質問についてエラーログを見たところ、下記の様になっておりました。ログを貼り付けます。2013-10-29 01:00:05,054 ERROR jp.groupsession.v2.man.ManBatchBackupListenerImpl: - 自動バックアップに失敗java.io.IOException: プロセスはファイルにアクセスできません。別のプロセスがファイルの一部をロックしています。 at java.io.FileInputStream.readBytes(Native Method) at java.io.FileInputStream.read(Unknown Source) at java.io.BufferedInputStream.read1(Unknown Source) at java.io.BufferedInputStream.read(Unknown Source) at jp.co.sjts.util.io.IOTools.copyBinFile(IOTools.java:624) at jp.co.sjts.util.io.IOTools.copyBinFile(IOTools.java:594) at jp.co.sjts.util.io.IOTools.copyFile(IOTools.java:503) at jp.co.sjts.util.io.IOTools.copyDir(IOTools.java:455) at jp.co.sjts.util.io.IOTools.copyDir(IOTools.java:464) at jp.co.sjts.util.io.IOTools.copyDir(IOTools.java:464) at jp.co.sjts.util.io.IOTools.copyDir(IOTools.java:395) at jp.groupsession.v2.man.man080.Man080Biz.saveBackupFile(Man080Biz.java:241) at jp.groupsession.v2.man.ManBatchBackupListenerImpl.doBackup(ManBatchBackupListenerImpl.java:197) at jp.groupsession.v2.batch.DayJob.executeBatch(DayJob.java:129) at jp.groupsession.v2.cmn.background.GsBatch.__doBatch(GsBatch.java:131) at jp.groupsession.v2.cmn.background.GsBatch.doBatch(GsBatch.java:112) at jp.groupsession.v2.cmn.background.GsBatch.run(GsBatch.java:73) at java.lang.Thread.run(Unknown Source)(その2に続く)
2013-10-29 01:00:05,054 FATAL jp.groupsession.v2.batch.DayJob: - 日次バッチ処理の実行に失敗 : java.io.IOException: プロセスはファイルにアクセスできません。別のプロセスがファイルの一部をロックしています。 at java.io.FileInputStream.readBytes(Native Method) at java.io.FileInputStream.read(Unknown Source) at java.io.BufferedInputStream.read1(Unknown Source) at java.io.BufferedInputStream.read(Unknown Source) at jp.co.sjts.util.io.IOTools.copyBinFile(IOTools.java:624) at jp.co.sjts.util.io.IOTools.copyBinFile(IOTools.java:594) at jp.co.sjts.util.io.IOTools.copyFile(IOTools.java:503) at jp.co.sjts.util.io.IOTools.copyDir(IOTools.java:455) at jp.co.sjts.util.io.IOTools.copyDir(IOTools.java:464) at jp.co.sjts.util.io.IOTools.copyDir(IOTools.java:464) at jp.co.sjts.util.io.IOTools.copyDir(IOTools.java:395) at jp.groupsession.v2.man.man080.Man080Biz.saveBackupFile(Man080Biz.java:241) at jp.groupsession.v2.man.ManBatchBackupListenerImpl.doBackup(ManBatchBackupListenerImpl.java:197) at jp.groupsession.v2.batch.DayJob.executeBatch(DayJob.java:129) at jp.groupsession.v2.cmn.background.GsBatch.__doBatch(GsBatch.java:131) at jp.groupsession.v2.cmn.background.GsBatch.doBatch(GsBatch.java:112) at jp.groupsession.v2.cmn.background.GsBatch.run(GsBatch.java:73) at java.lang.Thread.run(Unknown Source)2013-10-29 01:00:05,054 ERROR jp.groupsession.v2.cmn.background.GsBatch: - エラーアカウント = gsDomain2013-10-29 01:00:05,054 ERROR jp.groupsession.v2.cmn.background.GsBatch: - Exceptionjp.groupsession.v2.cmn.quartz.JobException: 日次バッチ処理の実行に失敗 : at jp.groupsession.v2.batch.DayJob.executeBatch(DayJob.java:209) at jp.groupsession.v2.cmn.background.GsBatch.__doBatch(GsBatch.java:131) at jp.groupsession.v2.cmn.background.GsBatch.doBatch(GsBatch.java:112) at jp.groupsession.v2.cmn.background.GsBatch.run(GsBatch.java:73) at java.lang.Thread.run(Unknown Source)Caused by: java.io.IOException: プロセスはファイルにアクセスできません。別のプロセスがファイルの一部をロックしています。(その3へ続く)
at java.io.FileInputStream.readBytes(Native Method) at java.io.FileInputStream.read(Unknown Source) at java.io.BufferedInputStream.read1(Unknown Source) at java.io.BufferedInputStream.read(Unknown Source) at jp.co.sjts.util.io.IOTools.copyBinFile(IOTools.java:624) at jp.co.sjts.util.io.IOTools.copyBinFile(IOTools.java:594) at jp.co.sjts.util.io.IOTools.copyFile(IOTools.java:503) at jp.co.sjts.util.io.IOTools.copyDir(IOTools.java:455) at jp.co.sjts.util.io.IOTools.copyDir(IOTools.java:464) at jp.co.sjts.util.io.IOTools.copyDir(IOTools.java:464) at jp.co.sjts.util.io.IOTools.copyDir(IOTools.java:395) at jp.groupsession.v2.man.man080.Man080Biz.saveBackupFile(Man080Biz.java:241) at jp.groupsession.v2.man.ManBatchBackupListenerImpl.doBackup(ManBatchBackupListenerImpl.java:197) at jp.groupsession.v2.batch.DayJob.executeBatch(DayJob.java:129) ... 4 more小生、プログラムの中身には疎い故、細かな意味は分かりませんが別のプロセスによりファイルがロックされているという事態は理解できます。(その4へ続く)
実は、気になる所が一カ所あります。上記のログの前後に、下記の様なログがあります。(●●●は個人名、又はメールアカウント)2013-10-29 00:55:42,843 ERROR jp.groupsession.v2.wml.pop3.Pop3Receive: - メール受信、もしくはフィルタ処理に失敗java.lang.Exception: POP3サーバからのメール受信時に例外発生 アカウント[●●●] at jp.groupsession.v2.wml.pop3.Pop3Server.receiveMessage(Pop3Server.java:236) at jp.groupsession.v2.wml.pop3.Pop3Receive.receive(Pop3Receive.java:177) at jp.groupsession.v2.wml.biz.WmlBiz.readNewMail(WmlBiz.java:151) at jp.groupsession.v2.wml.batch.WmlReceiveBatch.__doReceive(WmlReceiveBatch.java:204) at jp.groupsession.v2.wml.batch.WmlReceiveBatch.receiveMail(WmlReceiveBatch.java:182) at jp.groupsession.v2.wml.batch.WmlReceiveBatch.run(WmlReceiveBatch.java:138) at java.lang.Thread.run(Unknown Source)Caused by: javax.mail.AuthenticationFailedException: [AUTH] Password supplied for "●●●" is incorrect. at com.sun.mail.pop3.POP3Store.protocolConnect(POP3Store.java:208) at javax.mail.Service.connect(Service.java:295) at jp.groupsession.v2.wml.pop3.Pop3Server.openStore(Pop3Server.java:306) at jp.groupsession.v2.wml.pop3.Pop3Server.receiveMessage(Pop3Server.java:107)過去に、WEBメールを利用していた者が別のメーラーを使用する事になり、グループセッションのメールデータを閲覧用にする為、アカウントのパスワードを変え、受信出来なくしているのです。この事が原因でしょうか?何方か、お判りになる方がいらっしゃるようでしたら、ご教授頂ければ幸いです。
>java.io.IOException: プロセスはファイルにアクセスできません。別のプロセスがファイルの一部をロックしています。書かれている通りファイルロックされているんじゃないですか?>at jp.groupsession.v2.man.man080.Man080Biz.saveBackupFile(Man080Biz.java:241)ここがエラー元っぽいので4.2.3でソース見るとDBディレクトリをコピー時に出てるっぽいのでバックアップ対象のフォルダーのロック状態をみてみたらどうでしょうか?多分何らかの処理で運悪くコケてファイル掴んだままになってるっぽそうなのでtomcat 再起動すれば直りそうな気がします。最悪 server 再起動で。
TOP