Gitea: [doc] ./gitea dump doesn't allows to specify backup destination

Created on 30 Aug 2017  路  19Comments  路  Source: go-gitea/gitea

I like gitea dump because it allows to backup everything into a single file, but I find it difficult to automate (weekly cron job) because it's doesn't allows to specify the exact destination of the backup (to copy it elsewhere for example).

That leaves us with the (not pretty) option to parse the output to get the zip name.. something like gitea dump --destination /path/to/zip would be great.

Sorry not a go developer, if not I will simply send a PR for this (yeps it's a lame excuse, I know =)

kindocs revieweconfirmed

Most helpful comment

I recently tried tackling this using cron on my debian machine, but I had no luck. However, I found great sucess using a systemd service/timer and setting the WorkingDirectory to wherever you like.

The service file:

[Unit]
Description=Gitea Dump

[Service]
Type=simple
User=git
Group=git
WorkingDirectory=/var/gitea/backup
ExecStart=/usr/local/bin/gitea dump -c /etc/gitea/app.ini
Environment=USER=git HOME=/home/git GITEA_WORK_DIR=/var/lib/gitea

[Install]
WantedBy=multi-user.target

Timer:

[Unit]
Description=Daily Gitea Dump

[Timer]
# See systemd.time(7) for time format
OnCalendar=*-*-* 05:00:00
Persistent=true

[Install]
WantedBy=timers.target

And the output of /var/gitea/backup:

$ ls /var/gitea/backup
gitea-dump-1529562686.zip

All 19 comments

./gitea dump 2>&1 >/dev/null | awk 'END {print $NF}'
(just in case somebody wonders how to get it)

I think WIP PR #1637 will implement this?

@lafriks Not exactly:

OPTIONS: --config FILE, -c FILE Custom configuration FILE path (default: "custom/conf/app.ini") --tempdir PATH, -t PATH Temporary directory PATH (default: "/tmp") --target PATH Target directory PATH to save backup archive (default: "./") --verbose, -v Show process details --db Backup the database (default: true) --repos Backup repositories (default: true) --data Backup attachments and avatars (default: true) --custom Backup custom files (default: true)

--target will allow to specify where to land the zip, but still no luck to set the filename.

Should be easy enough to change --target to take a filename instead of a directory :)

Was this functionality removed?

OPTIONS:
--config value, -c value Custom configuration file path (default: "custom/conf/app.ini")
--verbose, -v Show process details
--tempdir value, -t value Temporary dir path (default: "/tmp")
--database value, -d value Specify the database SQL syntax

@Quinity to be honest IDK, I ended using awk to extract the dump filename but a --target or something similar will be much more appreciated.

I recently tried tackling this using cron on my debian machine, but I had no luck. However, I found great sucess using a systemd service/timer and setting the WorkingDirectory to wherever you like.

The service file:

[Unit]
Description=Gitea Dump

[Service]
Type=simple
User=git
Group=git
WorkingDirectory=/var/gitea/backup
ExecStart=/usr/local/bin/gitea dump -c /etc/gitea/app.ini
Environment=USER=git HOME=/home/git GITEA_WORK_DIR=/var/lib/gitea

[Install]
WantedBy=multi-user.target

Timer:

[Unit]
Description=Daily Gitea Dump

[Timer]
# See systemd.time(7) for time format
OnCalendar=*-*-* 05:00:00
Persistent=true

[Install]
WantedBy=timers.target

And the output of /var/gitea/backup:

$ ls /var/gitea/backup
gitea-dump-1529562686.zip

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs during the next 2 weeks. Thank you for your contributions.

--target is not documented in https://docs.gitea.io/en-us/backup-and-restore/

So this is a documentation problem not a feature.

I don't know. Does --target allow you to specify the filename now? That was the original feature request as I understand it. At least that's what I would want for my use-case.

@lunny I was just mentioning the missing documentation, in addition to the feature request discussed here - I think it's a good opportunity to fix the documentation. I don't think --target accepts a destination filename (only a directory).

I would appreciate this change, because I run dumps from a cron job and the destination directory ends up cluttered with daily dumps.

But maybe some people prefer the old behavior - in this case there could be 2 separate options (--destdir --destfile), or we could just resort to --destfile /var/backups/gitea/gitea-dump-$(date +%s)

So it looks like this has been implemented with:
--file name, -f name: Name of the dump file with will be created. Optional. (default: gitea-dump-[timestamp].zip).

I guess you can close this issue?
And to anyone else using the AWK trick from above: that doesn't work anymore.

--target is not documented in https://docs.gitea.io/en-us/backup-and-restore/

This is not yet documented

--work-dir is also not documented (https://github.com/go-gitea/gitea/issues/9100)

it's implemented option: --file/-f

and if you type gitea dump --help you get the whole documentation of this subcomand

@6543 yes but the documentation is wrong https://docs.gitea.io/en-us/command-line/#dump

Just copy pasting the gitea dump --help output there would be better than having outdated documentation. Do you want me to send a pull request?

@nodiscc yes would be great!!!

files are in https://github.com/go-gitea/gitea/tree/master/docs

Was this page helpful?
0 / 5 - 0 ratings