본문 바로가기

CI&CD/jenkins

[jenkins]이중화(백업)

728x90

젠킨스 백업하면 일반적으로 ThinBackup 플러그인을 사용한다. 

Aug 01, 2022 3:35:44 PM SEVERE hudson.init.impl.InstallUncaughtExceptionHandler$DefaultUncaughtExceptionHandler uncaughtException
A thread (ThinBackup Worker Thread thread/153) died unexpectedly due to an uncaught exception, this may leave your Jenkins in a bad way and is usually indicative of a bug in the code.
java.nio.file.AccessDeniedException: /var/lib/jenkins/ThinBackup Worker Thread.log
	at sun.nio.fs.UnixException.translateToIOException(UnixException.java:84)
	at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:102)
	at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:107)
	at sun.nio.fs.UnixFileSystemProvider.newByteChannel(UnixFileSystemProvider.java:214)
	at java.nio.file.spi.FileSystemProvider.newOutputStream(FileSystemProvider.java:434)
	at java.nio.file.Files.newOutputStream(Files.java:216)
	at hudson.util.StreamTaskListener.<init>(StreamTaskListener.java:104)
	at hudson.util.StreamTaskListener.<init>(StreamTaskListener.java:97)
	at org.jvnet.hudson.plugins.thinbackup.hudson.model.AsyncPeriodicWork.createListener(AsyncPeriodicWork.java:72)
Caused: java.lang.Error
	at org.jvnet.hudson.plugins.thinbackup.hudson.model.AsyncPeriodicWork.createListener(AsyncPeriodicWork.java:74)
	at org.jvnet.hudson.plugins.thinbackup.hudson.model.AsyncPeriodicWork.lambda$doRun$0(AsyncPeriodicWork.java:50)
	at java.lang.Thread.run(Thread.java:748)

다만 나는 사용을 못할 뿐이다... 여러모로 찾아보고 있는데, 해결책이 안 보여서 일단 임시방편으로 사내 gitlab에 백업하고 있다.

 

backup job을 구축한다. 트리거로 스케줄링해서 매일 0시에 백업을 시작한다.

cd /var/lib/jenkins
git add -f *
git commit -m "daily_backup"
git push origin master

저장소는 미리 설정해두었고, 일일 단위로 백업이 된다. 가끔 (그러면 안 되지만) job 실수로 날리거나 하면 요긴하게 쓰인다

728x90