======================
Tietokannan automaattinen varmuuskopiointi
Vaatimuksia:
-Pääset kirjautumaan SSH:lla webhotellisi palvelintilalle.
-Crontab-oikeus (joko itse asetettu tai ylläpidon kautta).
-username tarkoittaa omaa käyttäjätunnustasi.
-Tietoturvan vuoksi, mysqldump lukee .my.conf tiedostoa (jos ei lue, mysqldumppiin voi liittää parametriksi salasanasi, mutta tämä taas heikentää tietoturvaa).
Tee tiedosto ~/.my.conf ja laita sisään
Koodi: Valitse kaikki
[mysqldump]
password=salasanasi
Tee tiedosto, jonka nimeät vaikkapa: sqldump.sh ja laita koodinpätkä sisään:
Koodi: Valitse kaikki
#!/bin/bash
pvm=`date +"%Y%m%d_%H%M%S"`;
filenimi="/home/username/sql/foorum_$pvm.sql"
mysqldump -u {mysql_kayttajatunnus} {tietokantasi} > $filenimi
Kyseinen koodinpätkä tekee sql -nimiseen hakemistoon (luo kyseinen hakemisto) foorum_päivämäärä.sql dumppauksen, päivämäärä on jenkkiläisessä muodossa siksi, että listauksessa näkyisi tiedostot päivämääräjärjestyksessä. Voit kokeilla koodin toimivuutta ./sqldump
Sen jälkeen, kirjoita crontab -e ja lisää sinne rivi
Koodi: Valitse kaikki
00 6 * * * /home/username/sqldump.sh
Tuo tekee joka aamu klo 6.00 varmuuskopion tietokannastasi, jossa phpBB foorumisi sijaitsee. Jos haluat useammin, lisää pilkulla tunteja, esim:
Koodi: Valitse kaikki
00 6,10,12 * * * /home/username/sqldump.sh
Tuo tekee klo 6.00, 10.00 ja 12.00 backupit.
Pari asiaa vielä:
-Jos on erillinen mysql palvelin, niin silloin tuohon mysqldump-komentoon tarvitaan lisätä hostname, yv;tä minulle tästä, niin neuvon.
-Linuxissa perinteisesti jokainen tiedosto tarvitsee päättyä rivinvaihtoon, eli lisätkää pari tyhjää riviä tuohon sqldump.sh tiedostoon. (samaten .my.cnf:ään).
-Crontabin editori on jokaisessa järjestelmässä eri, joten en voi neuvoa sen editorin käytöstä. Tietysti jos on cPanel, voi sitä kautta ajastuksen laittaa.