Difference between revisions of "Moodle: Copy Database"
Onnowpurbo (talk | contribs) |
Onnowpurbo (talk | contribs) |
||
(16 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
+ | A Moodle system comprises three parts: | ||
+ | |||
+ | # The data stored in the database (For example, a MySQL database) | ||
+ | # The uploaded files (For example, site and course files uploaded via Moodle located in moodledata) | ||
+ | # The Moodle code (For example, everything in server/htdocs/moodle) | ||
+ | |||
+ | You can confirm where all these things are located in a Moodle installation by checking the config.php file. | ||
+ | |||
+ | # $CFG->dbname shows the database name | ||
+ | # $CFG->prefix shows the the database table name prefix | ||
+ | # $CFG->dataroot controls where the uploaded files are stored; and | ||
+ | # $CFG->wwwroot points to where the code is stored. | ||
+ | |||
+ | ==Tip== | ||
+ | |||
+ | Generally speaking, the database ("dbname and prefix") and the uploaded files (dataroot) are the two most important to copy on a regular basis. These contain information that will change most often. | ||
+ | |||
+ | The Moodle code (wwwroot) is less important as a frequent backup, since it will only change when the the actual code is changed through upgrades, addins and code tweaks. You can always get a copy of the standard Moodle code from http://download.moodle.org so you only have to backup the parts you added or changed yourself. | ||
+ | |||
+ | ==menggunakan moodle_backup.php== | ||
+ | |||
+ | * Download dari | ||
+ | |||
+ | http://cvs.moodle.org/contrib/tools/moodle_backup/moodle_backup.php | ||
+ | http://cvs.moodle.org/contrib/tools/moodle_backup/moodle_backup.php?view=co | ||
+ | http://cvs.moodle.org/contrib/tools/moodle_backup/moodle_backup.php?view=log | ||
+ | |||
+ | * siapkan | ||
+ | |||
+ | apt-get install zip | ||
+ | mkdir /var/moodlebackups | ||
+ | chmod -Rf 777 /var/moodlebackups | ||
+ | chown -Rf nobody.nogroup /var/moodlebackups | ||
+ | |||
+ | * buat script | ||
+ | |||
+ | cd /usr/local/bin | ||
+ | touch moodle_backup.php | ||
+ | chmod -Rf 777 moodle_backup.php | ||
+ | chown -Rf nobody.nogroup moodle_backup.php | ||
+ | vi moodle_backup.php | ||
+ | |||
+ | Ubah agar | ||
+ | |||
+ | //================================= | ||
+ | // CONFIG SECTION - EDIT ME | ||
+ | //================================= | ||
+ | |||
+ | // location of Moodle config files | ||
+ | // list one or more config file locations on your system | ||
+ | // whatever user this runs as needs read permission to the config files | ||
+ | // AND to the moodledata area | ||
+ | $configs = array(); | ||
+ | $configs[] = '/var/www/moodle/config.php'; | ||
+ | //$configs[] = '/var/www/moodle2/config.php'; | ||
+ | //$configs[] = '/var/www/moodle2/config.php'; | ||
+ | //$configs[] = '/var/www/moodle2/config.php'; | ||
+ | |||
+ | // path to your zip binary | ||
+ | // if you're not sure, do 'which zip' on the command line | ||
+ | $zippath = '/usr/bin/zip'; | ||
+ | |||
+ | // location of backup folder | ||
+ | // do not include trailing slash | ||
+ | // whatever user this runs as needs write permissions to this | ||
+ | $backuploc = '/var/moodlebackups'; | ||
+ | |||
+ | //================================= | ||
+ | // END OF CONFIG SECTION | ||
+ | //================================= | ||
+ | |||
+ | |||
+ | Menjalankan script | ||
+ | |||
+ | php moodle_backup.php | ||
+ | |||
+ | ==menggunakan mysqldump== | ||
+ | '''WARNING: Entah kenapa password user jadi beda / berubah, kayanya karena hash''' | ||
+ | |||
+ | * Install Moodle Kosong di mesin mirror | ||
+ | * di mesin asal | ||
+ | |||
+ | /usr/bin/mysqldump -u root -p123456 -C -Q -e --create-options moodle | /bin/gzip -9 > moodle-database.sql.gz | ||
+ | scp moodle-database.sql.gz stkip@10.150.5.249: | ||
+ | |||
+ | |||
+ | * di mesin mirror | ||
+ | |||
+ | cd ~ | ||
+ | gunzip moodle-database.sql.gz | ||
+ | sudo mysqladmin --user=root --password=123456 --force drop moodle | ||
+ | sudo mysqladmin --user=root --password=123456 create moodle | ||
+ | sudo mysql -u moodle -pmoodle moodle < ~/moodle-database.sql | ||
+ | scp -r root@10.150.5.250:/var/moodledata /var | ||
+ | sudo chmod -Rf 777 /var/moodledata/lang/ | ||
+ | sudo chown -Rf www-data.www-data /var/moodledata/lang/ | ||
+ | sudo chown -Rf www-data.www-data /var/moodledata/ | ||
+ | |||
+ | ==scp database== | ||
+ | '''WARNING: Cara ini akan menimbulkan error karena banyak yang kurang lengkap''' | ||
+ | |||
+ | mysql -u root -p123456 | ||
+ | create database moodle; | ||
+ | ALTER DATABASE moodle charset=utf8; | ||
+ | grant ALL on root.* to moodle@localhost; | ||
+ | grant ALL on moodle.* to moodle@localhost identified by "moodle"; | ||
+ | grant ALL on moodle.* to moodle identified by "moodle"; | ||
+ | exit | ||
+ | |||
+ | |||
scp -r root@10.150.5.250:/var/lib/mysql/moodle /var/lib/mysql | scp -r root@10.150.5.250:/var/lib/mysql/moodle /var/lib/mysql | ||
scp -r root@10.150.5.250:/var/moodledata /var | scp -r root@10.150.5.250:/var/moodledata /var | ||
scp -r root@10.150.5.250:/var/www/moodle /var/www | scp -r root@10.150.5.250:/var/www/moodle /var/www | ||
+ | chmod -Rf 777 /var/moodledata/lang/ | ||
+ | chown -Rf www-data.www-data /var/moodledata/lang/ | ||
+ | chown -Rf www-data.www-data /var/moodledata/ | ||
+ | chmod -Rf 777 /var/www/moodle | ||
+ | chown -Rf www-data.www-data /var/www/moodle | ||
+ | chown -Rf mysql.mysql /var/lib/mysql/moodle | ||
config.php:$CFG->wwwroot = 'http://10.150.5.250/moodle'; | config.php:$CFG->wwwroot = 'http://10.150.5.250/moodle'; | ||
vi /var/www/moodle/config.php | vi /var/www/moodle/config.php | ||
+ | |||
+ | ==Referensi== | ||
+ | |||
+ | * http://www.edugeek.net/forums/virtual-learning-platforms/37174-moodle-linux-backup-script.html | ||
+ | * http://docs.moodle.org/22/en/Site_restore | ||
+ | * http://docs.moodle.org/22/en/Site_backup | ||
+ | * http://cvs.moodle.org/contrib/tools/moodle_backup/moodle_backup.php?view=log&pathrev=MOODLE_22_STABLE | ||
+ | |||
+ | ==Pranala Menarik== | ||
+ | |||
+ | * [[Moodle]] | ||
+ | * [[Instalasi Moodle]] | ||
+ | * [[Moodle: Mengubah Hostname atau wwwroot]] | ||
+ | * [[Moodle: Konfigurasi CMS]] | ||
+ | * [[Moodle: Administrasi User]] | ||
+ | * [[SchoolOnffLine: Moodle Upload User]] | ||
+ | * [[Moodle: Administrasi Kuliah]] | ||
+ | * [[Moodle: Install Dragmath]] | ||
+ | * [[Moodle: Penggunaan Dragmath]] | ||
+ | * [[Moodle: Aktifasi Latex]] | ||
+ | * [[Moodle: Authentikasi LDAP]] | ||
+ | * [[Moodle: Copy Database]] | ||
+ | * [[Linux Howto]] |
Latest revision as of 16:04, 19 March 2012
A Moodle system comprises three parts:
- The data stored in the database (For example, a MySQL database)
- The uploaded files (For example, site and course files uploaded via Moodle located in moodledata)
- The Moodle code (For example, everything in server/htdocs/moodle)
You can confirm where all these things are located in a Moodle installation by checking the config.php file.
- $CFG->dbname shows the database name
- $CFG->prefix shows the the database table name prefix
- $CFG->dataroot controls where the uploaded files are stored; and
- $CFG->wwwroot points to where the code is stored.
Tip
Generally speaking, the database ("dbname and prefix") and the uploaded files (dataroot) are the two most important to copy on a regular basis. These contain information that will change most often.
The Moodle code (wwwroot) is less important as a frequent backup, since it will only change when the the actual code is changed through upgrades, addins and code tweaks. You can always get a copy of the standard Moodle code from http://download.moodle.org so you only have to backup the parts you added or changed yourself.
menggunakan moodle_backup.php
- Download dari
http://cvs.moodle.org/contrib/tools/moodle_backup/moodle_backup.php http://cvs.moodle.org/contrib/tools/moodle_backup/moodle_backup.php?view=co http://cvs.moodle.org/contrib/tools/moodle_backup/moodle_backup.php?view=log
- siapkan
apt-get install zip mkdir /var/moodlebackups chmod -Rf 777 /var/moodlebackups chown -Rf nobody.nogroup /var/moodlebackups
- buat script
cd /usr/local/bin touch moodle_backup.php chmod -Rf 777 moodle_backup.php chown -Rf nobody.nogroup moodle_backup.php vi moodle_backup.php
Ubah agar
//================================= // CONFIG SECTION - EDIT ME //================================= // location of Moodle config files // list one or more config file locations on your system // whatever user this runs as needs read permission to the config files // AND to the moodledata area $configs = array(); $configs[] = '/var/www/moodle/config.php'; //$configs[] = '/var/www/moodle2/config.php'; //$configs[] = '/var/www/moodle2/config.php'; //$configs[] = '/var/www/moodle2/config.php'; // path to your zip binary // if you're not sure, do 'which zip' on the command line $zippath = '/usr/bin/zip'; // location of backup folder // do not include trailing slash // whatever user this runs as needs write permissions to this $backuploc = '/var/moodlebackups'; //================================= // END OF CONFIG SECTION //=================================
Menjalankan script
php moodle_backup.php
menggunakan mysqldump
WARNING: Entah kenapa password user jadi beda / berubah, kayanya karena hash
- Install Moodle Kosong di mesin mirror
- di mesin asal
/usr/bin/mysqldump -u root -p123456 -C -Q -e --create-options moodle | /bin/gzip -9 > moodle-database.sql.gz scp moodle-database.sql.gz stkip@10.150.5.249:
- di mesin mirror
cd ~ gunzip moodle-database.sql.gz sudo mysqladmin --user=root --password=123456 --force drop moodle sudo mysqladmin --user=root --password=123456 create moodle sudo mysql -u moodle -pmoodle moodle < ~/moodle-database.sql scp -r root@10.150.5.250:/var/moodledata /var sudo chmod -Rf 777 /var/moodledata/lang/ sudo chown -Rf www-data.www-data /var/moodledata/lang/ sudo chown -Rf www-data.www-data /var/moodledata/
scp database
WARNING: Cara ini akan menimbulkan error karena banyak yang kurang lengkap
mysql -u root -p123456 create database moodle; ALTER DATABASE moodle charset=utf8; grant ALL on root.* to moodle@localhost; grant ALL on moodle.* to moodle@localhost identified by "moodle"; grant ALL on moodle.* to moodle identified by "moodle"; exit
scp -r root@10.150.5.250:/var/lib/mysql/moodle /var/lib/mysql scp -r root@10.150.5.250:/var/moodledata /var scp -r root@10.150.5.250:/var/www/moodle /var/www chmod -Rf 777 /var/moodledata/lang/ chown -Rf www-data.www-data /var/moodledata/lang/ chown -Rf www-data.www-data /var/moodledata/ chmod -Rf 777 /var/www/moodle chown -Rf www-data.www-data /var/www/moodle chown -Rf mysql.mysql /var/lib/mysql/moodle
config.php:$CFG->wwwroot = 'http://10.150.5.250/moodle'; vi /var/www/moodle/config.php
Referensi
- http://www.edugeek.net/forums/virtual-learning-platforms/37174-moodle-linux-backup-script.html
- http://docs.moodle.org/22/en/Site_restore
- http://docs.moodle.org/22/en/Site_backup
- http://cvs.moodle.org/contrib/tools/moodle_backup/moodle_backup.php?view=log&pathrev=MOODLE_22_STABLE
Pranala Menarik
- Moodle
- Instalasi Moodle
- Moodle: Mengubah Hostname atau wwwroot
- Moodle: Konfigurasi CMS
- Moodle: Administrasi User
- SchoolOnffLine: Moodle Upload User
- Moodle: Administrasi Kuliah
- Moodle: Install Dragmath
- Moodle: Penggunaan Dragmath
- Moodle: Aktifasi Latex
- Moodle: Authentikasi LDAP
- Moodle: Copy Database
- Linux Howto