jyuch / gitbucket-backup-plugin Goto Github PK
View Code? Open in Web Editor NEWProvide all in one backup features for GitBucket
License: Apache License 2.0
Provide all in one backup features for GitBucket
License: Apache License 2.0
Similar to backup.archive-limit
.
It's for the index page under News feed.
一日おきにバックアップするよう設定を行い運用していますが、バックアップに失敗するときと成功するときがあります。
失敗した時は、バックアップの作業フォルダは生成されるものの、zipが生成されません。
実行時のログを見ただけでは原因がわからず、issueで質問させていただきました。
ログをみると下記のようなメッセージが出て次の処理を行うことなく終了しています。
[INFO] [11/07/2018 23:05:56.359] [backup-akka.actor.default-dispatcher-30] [akka://backup/user/backup/cloner] Clone repository ry0/test
[INFO] [11/07/2018 23:05:56.359] [backup-akka.actor.default-dispatcher-30] [akka://backup/deadLetters] Message [scala.runtime.BoxedUnit] from Actor[akka://backup/user/backup/cloner#1671833524] to Actor[akka://backup/deadLetters] was not delivered. [6] dead letters encountered. This logging can be turned off or adjusted with configuration settings 'akka.log-dead-letters' and 'akka.log-dead-letters-during-shutdown'
正常に動作した場合は、バックアップの数を一定に保つ処理が走っています。
[INFO] [11/06/2018 23:04:42.932] [backup-akka.actor.default-dispatcher-20] [akka://backup/user/backup/cloner] Clone repository ry0/test
[INFO] [11/06/2018 23:08:05.237] [backup-akka.actor.default-dispatcher-20] [akka://backup/user/backup/packer] Delete archive C:\gitbucket\resources\backup\backup-201811032300.zip
[INFO] [11/06/2018 23:08:05.346] [backup-akka.actor.default-dispatcher-20] [akka://backup/user/backup/packer] Delete archive C:\gitbucket\resources\backup\backup-201811012300.zip
[INFO] [11/06/2018 23:08:06.438] [backup-akka.actor.default-dispatcher-20] [akka://backup/user/backup/packer] Backup complete.
何かこの情報からわかることがありましたら、ご返信ください。
Fix #11
Hey there,
I am running gitbucket in a docker container and try to use the backup plugin. I am receiving a lot of these:
org.eclipse.jgit.api.errors.JGitInternalException: Destination path "samples.git" already exists and is not an empty directory at org.eclipse.jgit.api.CloneCommand.verifyDirectories(CloneCommand.java:246) at org.eclipse.jgit.api.CloneCommand.call(CloneCommand.java:166) at gitbucket.core.util.JGitUtil$.cloneRepository(JGitUtil.scala:874) at io.github.gitbucket.backup.actor.RepositoryCloneActor$$anonfun$receive$1.applyOrElse(RepositoryCloneActor.scala:21) at akka.actor.Actor.aroundReceive(Actor.scala:539) at akka.actor.Actor.aroundReceive$(Actor.scala:537) at io.github.gitbucket.backup.actor.RepositoryCloneActor.aroundReceive(RepositoryCloneActor.scala:11) at akka.actor.ActorCell.receiveMessage(ActorCell.scala:612) at akka.actor.ActorCell.invoke(ActorCell.scala:581) at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:268) at akka.dispatch.Mailbox.run(Mailbox.scala:229) at akka.dispatch.Mailbox.exec(Mailbox.scala:241) at akka.dispatch.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260) at akka.dispatch.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339) at akka.dispatch.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979) at akka.dispatch.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)
This is my Configuration
akka {
quartz {
schedules {
Backup {
expression = "* 0/5 * * * ?"
}
}
}
}
backup {
# Backup archive destination directory (Optional)
# If not specified, archive is saved into GITBUCKET_HOME
archive-destination = "/backup"
# Maximum number of backup archives to keep (if 0 or negative value, keep unlimited) (Optional)
# If not specified, keep unlimited
archive-limit = 10
# Send notify email when backup is success (Optional, default:false)
notify-on-success = false
# Send notify email when backup is failure (Optional, default:false)
notify-on-failure = true
# Notify email destination (Optional)
notify-dest = ["xxx@yyy"]
# S3 compatible object storage for backup upload (Optional)
s3 {
# Endpoing URL
endpoint = "http://xxx:9000"
# Region
region = "US_EAST_1"
# Access key
access-key = "secret"
# Secret key
secret-key = "secret"
# Bucket of backup destination
bucket = "gitbucket"
}
}
I am using gitbucket 4.34.0 and backup-plugin 1.2.3.
Any hint on what I am doing wrong?
I use gitbucket 4.27 on Linux
I have a error when i want add gitbucket-backup-plugin : Scheduler with name 'QuartzScheduler~backup' already exists.
20:54:47.338 [Thread-148] INFO gitbucket.core.plugin.PluginRegistry - Initialize gitbucket-backup-plugin-gitbucket_4.27.
20:54:47.540 [Thread-148] INFO o.quartz.core.SchedulerSignalerImpl - Initialized Scheduler Signaller of type: class org.
20:54:47.542 [Thread-148] INFO org.quartz.core.QuartzScheduler - Quartz Scheduler v.2.2.3 created.
20:54:47.543 [Thread-148] INFO org.quartz.simpl.RAMJobStore - RAMJobStore initialized.
20:54:47.545 [Thread-148] INFO org.quartz.core.QuartzScheduler - Scheduler meta-data: Quartz Scheduler (v2.2.3) 'QuartzS
Scheduler class: 'org.quartz.core.QuartzScheduler' - running locally.
NOT STARTED.
Currently in standby mode.
Number of jobs executed: 0
Using thread pool 'org.quartz.simpl.SimpleThreadPool' - with 1 threads.
Using job-store 'org.quartz.simpl.RAMJobStore' - which does not support persistence. and is not clustered.
20:54:47.547 [Thread-148] INFO o.quartz.impl.DirectSchedulerFactory - Quartz scheduler QuartzScheduler backup
20:54:47.549 [Thread-148] INFO o.quartz.impl.DirectSchedulerFactory - Quartz scheduler version: 2.2.3
20:54:47.552 [Thread-148] ERROR gitbucket.core.plugin.PluginRegistry - Error during plugin initialization: gitbucket-back
java.lang.ExceptionInInitializerError: null
at io.github.gitbucket.backup.service.ActorService.initialize(ActorService.scala:15)
at io.github.gitbucket.backup.service.ActorService.initialize$(ActorService.scala:14)
at Plugin.initialize(Plugin.scala:9)
at Plugin.initialize(Plugin.scala:19)
at gitbucket.core.plugin.PluginRegistry$.$anonfun$initialize$3(PluginRegistry.scala:355)
at gitbucket.core.plugin.PluginRegistry$.$anonfun$initialize$3$adapted(PluginRegistry.scala:317)
at scala.collection.immutable.List.foreach(List.scala:389)
at gitbucket.core.plugin.PluginRegistry$.initialize(PluginRegistry.scala:317)
at gitbucket.core.plugin.PluginRegistry$.reload(PluginRegistry.scala:217)
at gitbucket.core.plugin.PluginWatchThread$$anon$1.$anonfun$run$3(PluginRegistry.scala:476)
at gitbucket.core.plugin.PluginWatchThread$$anon$1.$anonfun$run$3$adapted(PluginRegistry.scala:474)
at com.github.takezoe.slick.blocking.BlockingJdbcProfile$BlockingAPI$BlockingDatabase.$anonfun$withTransaction$2(
at slick.JdbcProfileBlockingSession$BlockingSession.withTransaction(TransactionalJdbcBackend.scala:26)
at com.github.takezoe.slick.blocking.BlockingJdbcProfile$BlockingAPI$BlockingDatabase.$anonfun$withTransaction$1(
at com.github.takezoe.slick.blocking.BlockingJdbcProfile$BlockingAPI$BlockingDatabase.withSession(BlockingProfile
at com.github.takezoe.slick.blocking.BlockingJdbcProfile$BlockingAPI$BlockingDatabase.withTransaction(BlockingPro
at gitbucket.core.plugin.PluginWatchThread$$anon$1.run(PluginRegistry.scala:474)
Caused by: org.quartz.SchedulerException: Scheduler with name 'QuartzScheduler~backup' already exists.
at org.quartz.impl.SchedulerRepository.bind(SchedulerRepository.java:80)
at org.quartz.impl.DirectSchedulerFactory.createScheduler(DirectSchedulerFactory.java:529)
at org.quartz.impl.DirectSchedulerFactory.createScheduler(DirectSchedulerFactory.java:415)
at org.quartz.impl.DirectSchedulerFactory.createScheduler(DirectSchedulerFactory.java:372)
at org.quartz.impl.DirectSchedulerFactory.createScheduler(DirectSchedulerFactory.java:330)
at org.quartz.impl.DirectSchedulerFactory.createScheduler(DirectSchedulerFactory.java:298)
The plugin doesnt seem to recognize the archive-destination set in the backup.conf file.
I tried the following variant and non of them worked.
archive-destination =/folder1
archive-destination =E:
archive-destination =E:/
archive-destination ="""folder1"""
archive-destination ="folder1"
archive-destination ="E"
archive-destination ="E:"
It either returns HTTP 500 (when execute through POST request) or simply put things into GITBUCKET_HOME(when executed on schedule) and completely ignore archive-destination.
#2 と関連かもしれませんが、エラーは出てませんが、最終的なzipファイル(#2をみると)が生成されません。
環境としては、次の通りです。
gitubucket 4.33.0
gitbucket-backup-plugin 1.2.2
リポジトリサイズ 100GB
タイムアウトになっている可能性があると思うので、タイムアウトの時間を長く設定していただけないでしょうか。
お時間のある際に、対応していただけたら幸いです。
社内でgitbucketを運用しておりますが、
gitbucketを4.34.0にアップデートしたところ、このプラグインが起動しなくなってしまいました。
おそらく、以下のコミットでakkaのライブラリが消されたことが原因と思われます。
gitbucket/gitbucket@c8f6017
ライブラリ追加等は試してみましたが、akkaのconfigのエラーが出てやはり起動できません。
お時間のある時に対応していただけると幸いです。
I had my cron expression set to :
expression = "0 0 0 1/16 * ?"
which according to CronMaker.com , sets this to automatically launch
on midnigiht(00:00) every half month(1/17th day).
But instead it happened in 0800(according to folder name).
plus , The server lives in UTC+0800.
Environment :
Gitbucket standalone 4.35.3 ou 4.36.0
AdoptOpenJDK : 11.0.11
List of installed plugins : default only.
OS : Linux
Error during starting gitbucket
[INFO] [07/17/2021 23:34:51.582] [main] [[QuartzScheduler~backup]] Initialized calendars:
Uncaught error from thread [backup-akka.actor.default-dispatcher-2]: akka/actor/dungeon/FaultHandling$$anonfun$handleNonFatalOrInterruptedException$1, shutting down JVM since 'akka.jvm-exit-on-fatal-error' is enabled for ActorSystem[backup]
java.lang.NoClassDefFoundError: akka/actor/dungeon/FaultHandling$$anonfun$handleNonFatalOrInterruptedException$1
at akka.actor.dungeon.FaultHandling.handleNonFatalOrInterruptedException(FaultHandling.scala:310)
at akka.actor.dungeon.FaultHandling.handleNonFatalOrInterruptedException$(FaultHandling.scala:310)
at akka.actor.ActorCell.handleNonFatalOrInterruptedException(ActorCell.scala:447)
at akka.actor.ActorCell.invokeAll$1(ActorCell.scala:557)
at akka.actor.ActorCell.systemInvoke(ActorCell.scala:569)
at akka.dispatch.Mailbox.processAllSystemMessages(Mailbox.scala:293)
at akka.dispatch.Mailbox.run(Mailbox.scala:228)
at akka.dispatch.Mailbox.exec(Mailbox.scala:241)
at akka.dispatch.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)
at akka.dispatch.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)
at akka.dispatch.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)
at akka.dispatch.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)
Caused by: java.lang.ClassNotFoundException: akka.actor.dungeon.FaultHandling$$anonfun$handleNonFatalOrInterruptedException$1
at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:471)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:589)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.