Code Monkey home page Code Monkey logo

Comments (10)

r748 avatar r748 commented on September 26, 2024 1

@Ravinou

After deleting and recreating repositories for hours without ever seeing a green button, I finally went through your source code and found the reason causing this issue!

My backup server only has a small system drive. Therefore I created a symlink to my mirrored 4TB drives holding the repos directory. On Line 29 of helpers/shells/getLastSave.sh you limit the find command to -type d and -mindepth 1, so my symlinked repos directory isn't found and the function returns [].

Changing that line to:

if [ -n "$(find "${home}"/repos -mindepth 1 -maxdepth 1 -type d)" ] || [ -n "$(find "${home}"/repos -maxdepth 0 -type l)" ]; then

is giving me the desired response ([{"repositoryName": "c89ed573","lastSave": 1710024079}]). So it would be great, if you could include this in the next version.

On another note, it would be great if the .env file would allow configuring a custom repos directory! Using Docker I guess this is less of an issue, since volumes can easily be mapped. But in my case of running borgwarehouse on bare metal Debian with a small system disk, it would avoid the symlink issue.

Thanks for all your effort!!!

from borgwarehouse.

Ravinou avatar Ravinou commented on September 26, 2024 1

Thank you very much for sharing your solution. Most people never come back to post here when they solve their problem and I have to figure it out on my own.

Plus this case is interesting because I recommend using symbolic link to use another storage directory. But I had never done the test because I'm no longer in this case, I use Docker. However, I'm determined to succeed in maintaining Docker-free usage. I'll study the modification so as not to impact Docker usage, I'll update the documentation and publish a fix soon.

As for the choice of directory, you'll notice that I had begun to consider the case, because bash scripts are indeed relative to an .env file. But, it's a big effort for me in terms of development because I have to be very careful that it doesn't disrupt Docker usage. I prefer to recommend the use of a symbolic link, which is a common and practical practice. I'm not saying it's impossible, but I am saying that for a result equivalent to the symbolic link, the effort on my part is significant, knowing that there are other features (more interesting in my humble opinion) that I'd like to develop.

I hope you'll understand my position and, of course, I'll make the necessary changes to use a symbolic link.

from borgwarehouse.

rarrais avatar rarrais commented on September 26, 2024 1

I'm not seeing any info on "Last Change" either...

@rarrais Regarding updating of the repository size: Have you set up a cron job for this as described in the docs?

I can confirm that I was missing the cron job set up. Thank you very much, @r748.

Thank you also, @Ravinou, for the fantastic software!

from borgwarehouse.

r748 avatar r748 commented on September 26, 2024 1

Issue is fixed with v2.2.1. Thanks for your work @Ravinou!!!

from borgwarehouse.

rarrais avatar rarrais commented on September 26, 2024

Facing the same issue, however, in my case the repository size is not being altered in the web UI. Also, no info on "Last Change".

Running v2.2.0 from Docker Hub on a Ubuntu Server 22.04 machine.

from borgwarehouse.

r748 avatar r748 commented on September 26, 2024

I'm not seeing any info on "Last Change" either...

@rarrais Regarding updating of the repository size: Have you set up a cron job for this as described in the docs?

from borgwarehouse.

Ravinou avatar Ravinou commented on September 26, 2024

Hello, there are two tasks planned to update the status and the volume.
Can you confirm that you have set up these two scheduled tasks? They are indicated in the documentation, whether in docker installation or in baremetal under debian.

If you've set up your cron tasks correctly, can you manually make the curl call and give me the return command here please? Thanks

from borgwarehouse.

r748 avatar r748 commented on September 26, 2024

Hello Ravinou,

Thanks for your reply!

I have set up both scheduled tasks. When I manually make the calls, I get {"success":"Status cron has been executed."} and {"success":"Storage cron has been executed."}. However the stautus button remains red and "Last Change" is showing "-", despite running successful nightly backups on the repository. The 2nd call seems to be working and "Storage Used" is updated regularly.

from borgwarehouse.

Ravinou avatar Ravinou commented on September 26, 2024

@r748 so you are on Debian install, not docker ?

from borgwarehouse.

r748 avatar r748 commented on September 26, 2024

Thank you for your detailed answer and willing to maintain the Docker-free option, I really appreciate your work!

Regarding an option to set the repository path in the .env file: I can live with using a symlink, but to me, adding an .env setting would also seem like a fairly simple task... Couldn't you just add an optional variable (e.g. REPOSITORY_PATH). Then in the 5 (if I counted correctly) files (deleteRepo.sh, getLastSave.sh, getStorageUsed.sh, createRepo.sh, recreateRepoConfigFile-v1.sh) where you are setting : "${home:=/home/borgwarehouse}" and then using "${home}"/repos, you check if the variable REPOSITORY PATH is set and either use that, or if not set use "${home}"/repos.

from borgwarehouse.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.