PDA

View Full Version : Backup sito web tramite ftp


gino46
11-05-2016, 17:52
Ciao,

mi sono preso l'impegno di gestire il sito web dell'associazione di volontariato di cui faccio parte, il sito è presente su Aruba, paghiamo il minimo indispensabile per avere lo spazio disponibile e null'altro.
Pensavo di gestire automaticamente (tramite script) i backup delle pagine web e del database.

Ho scoperto ahimè che il database mysql non è accessibile dall'esterno per motivi di sicurezza, quindi l'unico modo che ho per fare il backup è farlo dall'utility Myphpadmin.

Per quanto riguarda le pagine web invece ho realizzato un script che gira ad un orario prestabilito e mi fa la copia in locale.

1) Inizialmente utilizzavo RSYNC, facendo il mount tramite curlftpfs del sito web, funziona bene, ma per motivi suppongo di timeout, i files non vengono copiati completamente ma solamente un 75% circa, dai log noto che il restante 25% circa non viene copiato causa errore file vanished..., suppongo perchè i files non sono più presenti nella cartella di mount, per motivi di timeout.

2) Successivamente sono passato a wget, questo sembra copiare l'intero contenuto del sito, ma non so se i permessi dei files, i link, ecc, vengono mantenuti.

La mia domanda è, wget che sembra funzionare bene è affidabile come strumento di backup? Cioè in caso di problemi, se ripristino i files salvati tramite wget, funzionerà tutto come prima? Avete altri suggerimenti da darmi?
Il tutto è fatto tramite debian jessie che installato su un raspberry, quindi niente interfaccia grafica.

Dal pc windows ho utilizzato anche filezilla, funziona bene, però vorrei automatizzare il tutto, non vorrei rischiare di dimenticare di far il backup!

grazie, ciao. ;)

mykol
11-05-2016, 18:37
per scaricare in locale siti interi va bene httrack

https://www.httrack.com/

o la versione con interfaccia grafica ...

http://www.linux-magazine.com/Online/Features/WebHTTrack-Website-Copier

jeremy.83
12-05-2016, 18:41
Ciao,
non so se hai già risolto, ma io ti consiglio di fare 2 cose separate, 1 per il database e 1 per il codice (cioè le pagine web).

Per il database va bene quello che hai fatto, cioè ti fai uno script che puoi richiamare dall'esterno con wget, ma ti consiglio di usare un token per motivi di sicurezza. Per evitare il timeout esistono delle istruzioni per forzarlo, ad esempio su php c'è set_time_limit.

Per il codice, invece, ti consiglio di farti un account su gitlab (o su github se vuoi renderlo free) e capire come funziona un software di controllo di versione. Tutto ciò evita alla lunga di gestire il backup delle pagine web.

Se il sito è un CMS (tipo Joomla o simili) ci sono dei plugin apposta che gestiscono il backup completo.

Ciao