summaryrefslogtreecommitdiff
path: root/lib/backup
Commit message (Collapse)AuthorAgeFilesLines
* ability to skip some items in backupbackup_skip_optionValery Sizov2015-04-021-6/+36
|
* Don't use chmod_R for backup tarsVinnie Okada2015-03-281-1/+1
| | | | | When creating backup tar files, only change permissions on the `db`, `uploads`, and `repositories` directories, not their contents.
* Change directory when removing old backupsVinnie Okada2015-03-241-7/+8
|
* Merge branch 'backup-permissions' into 'master'Dmitriy Zaporozhets2015-03-211-18/+25
|\ | | | | | | | | | | | | | | | | | | | | | | Change permissions on backup files - #2 Use more restrictive permissions for backup tar files and for the db, uploads, and repositories directories inside the tar files. See #1894. Now the backup task recursively `chmod`s the `db/`, `uploads/`, and `repositories/` folders with 0700 permissions, and the tar file is created as 0600. This is a followup to !1703, which was reverted because it broke Rspec tests. The test failures were due to the rake task changing directories and not changing back, which I fixed with this commit. cc @sytse See merge request !1716
| * Call chdir() with a blockVinnie Okada2015-03-191-18/+17
| |
| * Change permissions on backup filesVinnie Okada2015-03-171-5/+13
| | | | | | | | | | Use more restrictive permissions for backup tar files and for the db, uploads, and repositories directories inside the tar files.
* | backup repo with tar instead of git bundleValery Sizov2015-03-191-2/+3
|/
* Revert "Merge branch 'backup-permissions' into 'master'"Dmitriy Zaporozhets2015-03-161-4/+0
| | | | | This reverts commit c42262b43b009af990e5769840391862d64a1c2d, reversing changes made to c6586b1283a94c8f08bc669f4d8a9384b263073e.
* Change permissions on backup filesVinnie Okada2015-03-151-0/+4
| | | | | Use more restrictive permissions for backup tar files and for the db, uploads, and repositories directories inside the tar files.
* Revert "Fix broken access control and refactor avatar upload"Dmitriy Zaporozhets2015-02-192-29/+13
| | | | This reverts commit 7d5f86f6cbd187e75a6ba164ad6bfd036977dd07.
* Fix broken access control and refactor avatar uploadHannes Rosenögger2015-02-162-13/+29
| | | | | | | | | | | This commit moves the note folder from /public/uploads/note to /uploads/note and changes the uploader accordingly. Now it's no longer possible to avoid the access control by modifing the url. The Avatar upload has been refactored to use an own uploader as well to cleanly seperate the two upload types.
* Properly fix wiki restore.Achilleas Pipinellis2014-11-301-12/+14
| | | | | | ProjectWiki.new() creates a new wiki git repository, so any tries to bare clone a bundle fail. With this patch we remove the newly created wiki.git before restoring from the backup bundle.
* Proper wiki restore. Fixes #845Achilleas Pipinellis2014-11-291-8/+12
|
* Add CRON=1 backup setting for quiet backupsJacob Vosmaer2014-11-203-38/+47
|
* Correctly restore empty repositories.Dimitry Andric2014-11-131-1/+7
| | | | | | If a project is being restored, but there is no bundle file, the project was empty when it was backed up. In this case, just use git init --base to create a new bare repository.
* Merge remote-tracking branch 'origin/master' into backup_restore_drop_sequencesValery Sizov2014-11-121-1/+1
|\ | | | | | | | | Conflicts: CHANGELOG
| * Factor using Repository#path_to_repoCiro Santilli2014-11-051-1/+1
| |
* | Drop all Postgres sequences during backup restoreJacob Vosmaer2014-10-281-0/+1
|/
* Ask the wiki repo, not Gollum, if it's emptyJacob Vosmaer2014-10-201-1/+1
| | | | | | | We need to skip empty repositories when creating a backup. Before this change, we were asking gollum-lib if the wiki contains any _pages_. Now we ask gitlab_git if the repository contains _files_. This should resolve gollum_lib Grit timeouts in the backup script.
* Fail harder in the backup scriptJacob Vosmaer2014-10-013-6/+22
| | | | | This change also shows the output of failed Git commands during the backup.
* Add backup upload support to the rake taskJacob Vosmaer2014-09-291-2/+24
|
* Use create-hooks instead of rewrite-hooks.shJacob Vosmaer2014-09-081-1/+1
| | | | | The rewrite-hooks.sh script is a deprecated wrapper for gitlab-shell's create-hooks script.
* Backup wiki repo even if the main repo is emptyJacob Vosmaer2014-05-081-6/+3
| | | | | This fixes a bug where wiki repositories for projects with an empty main repository would not get backed up.
* Apply the locale encoding to `tar --version`Jacob Vosmaer2014-05-081-1/+1
| | | | | Fixes a bug with non-UTF8 locales introduced by 2b816075dc71dfe8f6f9e5349fdff7f03ad9dad0.
* Use ProjectWiki instead of GollumWiki in codeDmitriy Zaporozhets2014-04-091-2/+2
| | | | Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
* Drop all tables before restoring a PostgreSQL DBJacob Vosmaer2014-03-281-2/+3
| | | | | | Invoking 'db:schema:load' turned out to be a bad idea: when downgrading an existing GitLab installation, the schema of the newer version would be preserved when trying to import the old version.
* Replace backticks with Gitlab::PopenJacob Vosmaer2014-03-031-1/+6
|
* Merge branch 'backup_uploads_symlink' into 'master'Dmitriy Zaporozhets2014-03-011-2/+3
|\ | | | | | | Backup Uploads Symlink
| * Support symlinked public/uploads for backp restoreJacob Vosmaer2014-02-261-2/+3
| | | | | | | | | | | | | | The backup restore code moves any existing uploads directory out of the way before restoring the copy from the backup. If public/uploads was a symlink, this move would replace the symlink. This commit avoids this issue by first resolving any symlinks in the uploads path.
* | Use Gitlab::VERSION to version backupsJacob Vosmaer2014-02-271-16/+10
| | | | | | | | | | | | | | | | | | Previous to this commit, backups were tied to the git revision (SHA1) of the app at the time the backup:create command was invoked. If the SHA1 at the time of restore was different, the script would refuse to restore the backup. This commit loosens this tie so that the backup script only complains if the value of the Gitlab::VERSION constant is different between the time of backup and the time of restore.
* | Merge branch 'pg_force_restore' into 'master'Dmitriy Zaporozhets2014-02-271-0/+2
|\ \ | | | | | | | | | Pg Force Restore
| * | Empty the database during Postgres backup restoreJacob Vosmaer2014-02-261-0/+2
| |/ | | | | | | | | | | | | | | | | | | | | The expected behavior during a GitLab backup restore is to overwrite existing database data. This works for MySQL because the output of mysqldump contains 'DROP TABLE IF EXISTS' statements. pg_dump on the other hand assumes that one will restore into an empty database. When this is not the case, during the restore with psql some of the data will be skipped if existing data is 'in the way'. By first invoking `rake db:schema:load` during a Postgres GitLab backup restore, we make sure that all important data is correctly restored.
* | Use gitlab_shell.path to invoke rewrite-hooks.shJacob Vosmaer2014-02-261-2/+1
|/ | | | | | | The backup restore code for repositories was assuming that gitlab-shell is installed in /home/git/gitlab-shell. This commit changes that to use the configuration setting from gitlab.yml that specifies the path where gitlab-shell is installed.
* Report failure of DB backup commandsJacob Vosmaer2014-01-231-2/+16
|
* Remove duplication in Backup::ManagerJacob Vosmaer2013-11-061-2/+4
|
* Remove Bourne shell from backup codeJacob Vosmaer2013-11-064-15/+19
|
* Revert "More escaping"Dmitriy Zaporozhets2013-11-052-11/+9
| | | | This reverts commit c46eaca91247ccf8e6fb3b691dad028e1b084ae3.
* More escapingNigel Kukard2013-11-042-9/+11
| | | | | | | | | - Database name may contain characters which are not shell friendly - Database password could contain the same - While we at it there is no harm in escaping generated paths too - Refactored 2-line system(command) Signed-off-by: Nigel Kukard <nkukard@lbsd.net>
* Skip rather than fail empty wikis during backupJacob Vosmaer2013-10-101-1/+3
|
* move backup logic to lib. Fixed removing outdated backupsDmitriy Zaporozhets2013-08-051-0/+106
|
* Merge pull request #4264 from andrewwutw/fix-postgresql-restoreDmitriy Zaporozhets2013-07-111-1/+1
|\ | | | | Fix PostgreSQL database restoration problem (#4217)
| * Fix PostgreSQL database restoration problem (#4217)andrewwutw2013-06-101-1/+1
| | | | | | Use psql instead of pg_restore to restore SQL dump file.
* | fixes for gitlab restore with non-standard backup and repo dirsAngus MacArthur2013-05-301-1/+1
|/ | | | | | | | These fixes will allow a restore of gitlab when the backups and repositories directories are in non-standard locations (ie sub-dirs of gitlabhq). Also allows the restore to be run from script overriding the need of a user to confirm the rebuild of the authorized_keys file.
* clarify restoreBen Bodenmiller2013-05-271-2/+6
|
* Fix errors during backup task. Fix #3785Axilleas Pipinellis2013-05-071-1/+1
| | | | | | | | | | | By default there is no public/uploads directory when no attachments are uploaded. Prompt users to create the uploads directory during install otherwise the backup task will fail. Place mysqldump args in single quotes to avoid error if password contains special characters. Signed-off-by: Axilleas Pipinellis <axilleas@archlinux.gr>
* backup/restore uploadsDmitriy Zaporozhets2013-04-101-0/+25
|
* Run rewrite-hooks after repos restoreDmitriy Zaporozhets2013-04-101-0/+9
|
* Backup/restore wiki repos tooDmitriy Zaporozhets2013-04-051-0/+22
|
* move old repositories dir to one with timestampDmitriy Zaporozhets2013-04-051-1/+1
|
* refactor backup/restoreDmitriy Zaporozhets2013-04-052-0/+132