Using Git to backup moodledata: Difference between revisions
David Mudrak (talk | contribs) mNo edit summary |
David Mudrak (talk | contribs) No edit summary |
||
Line 27: | Line 27: | ||
cd /mnt/backup | cd /mnt/backup | ||
git clone --no-hardlinks --bare /srv/www/moodledata/.git datamoodle.git | git clone --no-hardlinks --bare /srv/www/moodledata/.git datamoodle.git | ||
Push changes into a bare clone | Push changes into a bare clone | ||
Line 33: | Line 32: | ||
cd /srv/www/moodledata | cd /srv/www/moodledata | ||
git push /mnt/backup/datamoodle.git | git push /mnt/backup/datamoodle.git | ||
Or, pull changes from the clone (here created on a separate machine) | |||
git --bare fetch ssh://your.moodle.serv.er/backup/datamoodle.git master:master |
Revision as of 22:19, 8 April 2008
GIT is a distributed source code management system. For the purpose of this document, GIT's basic feature is that it allows to keep the whole history of a directory tree and track all changes. The basic idea of using GIT as a backup tool is that you can clone you moodledata directory on other disk and/or computer.
Create new file called .gitignore in the moodledata with the following content:
cache lang sessions temp
Transform your moodledata into the git repository:
cd /srv/www/moodledata git init git add . git commit -m "Initial commit of moodledata"
Put following commands into the cronjob
cd /srv/www/moodledata git add . git commit -a -m "AUTO: committed changes in moodledata"
Create a backup clone on local machine, e.g. on a separate disk
cd /mnt/backup git clone --no-hardlinks --bare /srv/www/moodledata/.git datamoodle.git
Push changes into a bare clone
cd /srv/www/moodledata git push /mnt/backup/datamoodle.git
Or, pull changes from the clone (here created on a separate machine)
git --bare fetch ssh://your.moodle.serv.er/backup/datamoodle.git master:master