Page 1 of 1
Automatische backups
Posted: 11 Jan 2006, 11:20
by JayBro
Ik weet dat DsMarty er niet aan wilt, maar met mijn sites wil ik wel automatisch backuppen...
Nu kun je een soort cron laten lopen met een .sh bestand, die kan bijvoorbeeld alles in /home/httpd/vhosts ff gzippen en opslaan, maar dan moet je als root inloggen en wordt ALLES gebackupt... niet handig dus..
Dus gaat Jay zoeken en heeft een alleraardigst php bestandje gevonden waarmee je je volledige database backupt, zipt, en verstuurd naar mail, of in mijn geval mijn thuis ftp-server...
Dit php-bestand ga ik in de cron zetten in plesk, maar het blijkt dat dat niet kan!
Is het mogelijk om crons aan te maken op de server?
Posted: 11 Jan 2006, 11:23
by DSmarty
Dat is handig idd
Ik heb idd niet de insteek om voor iedereen backups te gaan regelen, dit omdat ik het simpelweg ieders eigen verantwoordelijkheid vind. (Daarnaast wil ik voorkomen dat er gezeur ontstaat op het moment dat er iets mis is met een backup, of omdat een specifieke DB niet gebackupped wordt)
Ik zal zorgen dat jullie wel cronjobs kunnen inschieten, dat is tot nu toe disabled idd.
Posted: 11 Jan 2006, 11:26
by DSmarty
Fixed that

Posted: 11 Jan 2006, 11:53
by JayBro
Thanx, ken je toevallig een standaard aanroep voor het zippen van een directory op linux? Je hebt namelijk standaard het programma "mysqldump" waar mijn db-script gebruik van maakt, maar ik kan niet echt een filedump vinden....
Ik zal de filedump-script minder vaak aanroepen, vanwege de datatraffic, maar toch zo het fijn zijn als ik dat via een shell-script zou kunnen doen....
Vraag 2, worden de ftp-transfer ook bij de datatraffic opgeteld... want een 30mb database iedere dag backuppen wordt dan lastig...
Posted: 11 Jan 2006, 12:53
by DSmarty
Ja, als je dat via mail/ftp of whatever over de lijn stuurt is dat wel traffic inderdaad.
Maar 30MB/dag is nog geen GB per maand, dat valt toch wel mee ?
Posted: 11 Jan 2006, 13:23
by madman
Code: Select all
#!/bin/bash
database_name='mydatabase'
database_user='myusername'
database_passwd='mypasswd'
ftp_host='ftp://myhost.com'
ftp_user='ftpusername'
ftp_passwd='ftppasswd'
cd /tmp
mysqldump --opt --user=$database_user --password=$database_passwd $database_name > $database_name.back.sql
tar -czf $database_name.tar.gz $database_name.back.sql
curl -T $database_name.tar.gz -u $ftp_user:$ftp_passwd $ftp_host
rm -f $database_name.back.sql
rm -f $database_name.tar.gz
Dit script zou je kunnen gebruiken om backups van je database te maken, ze in te pakken en ze over te sturen dmv FTP
LET OP: het script is uit het blote hoofd gemaakt en NIET getest!!
Mocht je fouten vinden, post ze dan ff hier.
Posted: 11 Jan 2006, 15:36
by JayBro
Ik zal hier de scripts plaatsen zodra ik ze volledig getest heb, dat is dus ook een script om je bestanden te backuppen!!!
Oja, en je kan het mailen en ftp-en, wat jij wil
Strax meer...
Posted: 16 Jan 2006, 23:19
by mischabuys
en werkt het al een beetje ik heb namelijk daar ook wel interesse in !
Posted: 17 Jan 2006, 12:23
by JayBro
Momenteel nogal druk, ik heb trouwens ook een leuk scriptje gevonden die de database die je gebackupt hebt mooi terugzet... ook dus sql-bestanden van meer dan 50mb...
De bestanden die ik voor dit script ga gebruiken:
http://backup.jaybro.nl/docs/backup_mys ... se.php.txt
http://backup.jaybro.nl/docs/backup_root_files.sh.txt
http://backup.jaybro.nl/docs/db_upload.php.txt
(Natuurlijk de extensie veranderen he...)
Zodra ik tijd heb gooi ik het wel als een projectje online ofzo...
Posted: 27 Feb 2006, 16:02
by JayBro
Ben ik weer...
crons.. ik blijf ze irri vinden, wat moet je nu als command invoeren?
Ik heb nu dit:
/bin/php -q /var/www/vhosts/jaybro.nl/subdomains/backup/httpdocs/.cronjobs/bkp_db.php
Maar hij doet het dus niet, wat doe ik fout?
(ja, nu nog even in de httpdocs, ben nog aant testen...)
Posted: 27 Feb 2006, 16:32
by madman
Heb je hem wel in je crontab gezet? Krijg je een foutmelding of gebeurt er helemaal niets? Hou er rekening mee dat dit script niet met de zelfde user draait als de webserver: waarschijnlijk als cron of als je eigen username..
btw cron is echt uber als je het vergelijkt met de windows scheduler!
Posted: 27 Feb 2006, 20:13
by JayBro
jupz, hij staat in de crontab, met tijdsindicatie enzo, maar dan moet je een command invullen:
- Beginning of the command line
- The path to your script
dacht ik, maar hij doet helemaal nix, je kan ook niet previewen
ik nie snap nie
Posted: 27 Feb 2006, 20:20
by DSmarty
Het moet iets als dit zijn:
Code: Select all
0 1 * * * /bin/php -q /var/www/vhosts/jaybro.nl/subdomains/backup/httpdocs/.cronjobs/bkp_db.php
0 = minuut 0
1 = uur 1
* = van elke dag
* = van elke maand
* = van elk jaar
Posted: 28 Feb 2006, 15:42
by JayBro
bijna helemaal, maar die tijdsindicatie zit dus al in het crontabmanagement...
mijn vraag is of de paden wel kloppen...
Posted: 28 Feb 2006, 16:28
by DSmarty
het is /usr/bin/php
De rest is wel ok
