Effettuare il dump di un database e riceverlo tramite mail o su pc

di il
6 risposte

Effettuare il dump di un database e riceverlo tramite mail o su pc

Un saluto a tutto,

ho una macchina virtuale che funge da server per un piccolo gestionale, il gestionale poggia su mysql e per effettuare il dump del database, allo stato attuale, tutte le mattine mi collego a phpmyadmin, clicco su esporta ed eseguo il dump del database, vorrei poter avere la possibilità di automatizzare questo processo schedulando il backup del database e ricevendone una copia o nella mia mail oppure all'interno di una cartella di un pc della rete. Chiedo supporto a voi perchè sinceramente non ne sono capace, ho provato ad effettuare delle ricerche su google, ho trovato tanto materiale, ma nessuno che mi ha permesso di comprendere come effettuare il dump per poi farmelo arrivare per email o in una cartella della rete locale.

Il gestionale essendo abbastanza “vecchiotto” è scritto con una versione di php molto obsoleta e purtroppo essendo un refuso che mi è stato lasciato in gestione da una sviluppatrice che lavorava in azienda, io non essendo un programmatore non so proprio dove mettere mano.

PHP Version 7.0.25-0ubuntu0.16.04.1
SystemLinux nas1 4.13.0-36-generic #40~16.04.1-Ubuntu SMP Fri Feb 16 23:25:58 UTC 2018 x86_64
Server APIApache 2.0 Handler
Virtual Directory Supportdisabled
Configuration File (php.ini) Path/etc/php/7.0/apache2
Loaded Configuration File/etc/php/7.0/apache2/php.ini
Scan this dir for additional .ini files/etc/php/7.0/apache2/conf.d
Additional .ini files parsed/etc/php/7.0/apache2/conf.d/10-mysqlnd.ini, /etc/php/7.0/apache2/conf.d/10-opcache.ini, /etc/php/7.0/apache2/conf.d/10-pdo.ini, /etc/php/7.0/apache2/conf.d/15-xml.ini, /etc/php/7.0/apache2/conf.d/20-calendar.ini, /etc/php/7.0/apache2/conf.d/20-ctype.ini, /etc/php/7.0/apache2/conf.d/20-dom.ini, /etc/php/7.0/apache2/conf.d/20-exif.ini, /etc/php/7.0/apache2/conf.d/20-fileinfo.ini, /etc/php/7.0/apache2/conf.d/20-ftp.ini, /etc/php/7.0/apache2/conf.d/20-gd.ini, /etc/php/7.0/apache2/conf.d/20-gettext.ini, /etc/php/7.0/apache2/conf.d/20-iconv.ini, /etc/php/7.0/apache2/conf.d/20-json.ini, /etc/php/7.0/apache2/conf.d/20-mbstring.ini, /etc/php/7.0/apache2/conf.d/20-mcrypt.ini, /etc/php/7.0/apache2/conf.d/20-mysqli.ini, /etc/php/7.0/apache2/conf.d/20-pdo_mysql.ini, /etc/php/7.0/apache2/conf.d/20-phar.ini, /etc/php/7.0/apache2/conf.d/20-posix.ini, /etc/php/7.0/apache2/conf.d/20-readline.ini, /etc/php/7.0/apache2/conf.d/20-shmop.ini, /etc/php/7.0/apache2/conf.d/20-simplexml.ini, /etc/php/7.0/apache2/conf.d/20-sockets.ini, /etc/php/7.0/apache2/conf.d/20-sysvmsg.ini, /etc/php/7.0/apache2/conf.d/20-sysvsem.ini, /etc/php/7.0/apache2/conf.d/20-sysvshm.ini, /etc/php/7.0/apache2/conf.d/20-tokenizer.ini, /etc/php/7.0/apache2/conf.d/20-wddx.ini, /etc/php/7.0/apache2/conf.d/20-xmlreader.ini, /etc/php/7.0/apache2/conf.d/20-xmlwriter.ini, /etc/php/7.0/apache2/conf.d/20-xsl.ini
PHP API20151012
PHP Extension20151012
Zend Extension320151012
Zend Extension BuildAPI320151012,NTS
PHP Extension BuildAPI20151012,NTS
Debug Buildno
Thread Safetydisabled
Zend Signal Handlingdisabled
Zend Memory Managerenabled
Zend Multibyte Supportprovided by mbstring
IPv6 Supportenabled
DTrace Supportavailable, disabled
Registered PHP Streamshttps, ftps, compress.zlib, php, file, glob, data, http, ftp, phar
Registered Stream Socket Transportstcp, udp, unix, udg, ssl, tls, tlsv1.0, tlsv1.1, tlsv1.2
Registered Stream Filterszlib.*, string.rot13, string.toupper, string.tolower, string.strip_tags, convert.*, consumed, dechunk, convert.iconv.*, mcrypt.*, mdecrypt.*
Apache VersionApache/2.4.18 (Ubuntu)
Apache API Version20120211
Server Administratorwebmaster@localhost
Hostname:Port127.0.1.1:80
User/Groupwww-data(33)/33
Max RequestsPer Child: 0 - Keep Alive: on - Max Per Connection: 100
TimeoutsConnection: 300 - Keep-Alive: 5
Virtual ServerYes
Server Root/etc/apache2
Loaded Modulescore mod_so mod_watchdog http_core mod_log_config mod_logio mod_version mod_unixd mod_access_compat mod_alias mod_auth_basic mod_authn_core mod_authn_file mod_authz_core mod_authz_host mod_authz_user mod_autoindex mod_deflate mod_dir mod_env mod_filter mod_mime prefork mod_negotiation mod_php7 mod_setenvif mod_status

Confido in un vostro supporto e ringrazio anticipatamente.

6 Risposte

  • Re: Effettuare il dump di un database e riceverlo tramite mail o su pc

    Non esiste LA SOLUZIONE

    Esistono n-milioni di soluzioni

    Farti inviare il dump per mail “NON E' pratico” perché il dump potrebbe essere di centinaia di mega o giga o piu'. 
    Lo puoi fare solo fintanto che e' MOOOLTO piccolo (qualche megabyte).
    I server di posta non permettono di inviare allegati troppo grandi.

    Soluzione piu' semplice:

    fai un script che, usando le funzioni a linea di comando di mysql/mariadb ("mysqldump.exe"), fai un dump del dbms (cerca un po' nella documentazione, e' facile) 

    copia il dump in un cartella di servizio rinominandolo come ‘yyyy-mm-dd’ (o varianti del genere) 

    mantieni solo gli ultimi 7/10/ o quello che e' dump. Non vale la pena tenerne troppi perche' rischi di riempire il disco, e poi quelli troppo vecchi sarebbero inutili. Quanti tenere lo sai tu ;-) 

    rendi la cartella dei dump accessibile via FTP o web in modo da poter scaricare localmente (sul tuo PC) uno o piu' dump in base alle necessita (soluzione molto migliore dell'invio via mail).

    Se non lo sai fare, fatti aiutare da qualcuno esperto

    Qui, si danno consigli, ovviamente, NON SI FA il lavoro :-(.


    Il gestionale essendo abbastanza “vecchiotto” è scritto con una versione di php molto obsoleta e purtroppo essendo un REFUSO che mi è stato lasciato in gestione da una sviluppatrice che lavorava in azienda, io NON ESSENDO UN PROGRAMMATORE non so proprio dove mettere mano.

    Refuso « In tipografia, errore di composizione o di stampa prodotto dallo scambio o dallo spostamento di una o due lettere, o segni, causato spesso da errata collocazione dei caratteri nella cassa (per quanto riguarda la composizione a mano), o da errore del tastierista o da difetto meccanico (nella composizione a linotype o a monotype). In senso lato, errore tipografico in genere, o anche di fotocomposizione » .

    Forse e' il caso di contattare un esperto. Programmare SEMBRA semplice MA NON LO E'.

  • Re: Effettuare il dump di un database e riceverlo tramite mail o su pc

    Hai cercato in rete?

    https://howto.webarea.it/mysql/script-per-realizzare-un-backup-automatico-dei-dati-di-mysql-utilizzando-mysqldump-in-bash-e-in-php_43

    https://wavelop.com/en/story/mysql-backup-script/

    https://gist.github.com/micc83/fe6b5609b3a280e5516e2a3e9f633675

    ecc… ecc… Salute!

  • Re: Effettuare il dump di un database e riceverlo tramite mail o su pc

    28/08/2023 - appsistem ha scritto:


    lasciato in gestione da una sviluppatrice che lavorava in azienda, io non essendo un programmatore non so proprio dove mettere mano.

    che sfortuna, potava andarsene un quadro dirigente…

  • Re: Effettuare il dump di un database e riceverlo tramite mail o su pc

    Ragazzi che dire, tralasciando che mi sento molto “mortificato” per il mio essere incompetente, ci tengo a ribadire che per me il mio punto di riferimento da qualche tempo a questa parte è il vostro forum, mi sto avvicinando al mondo della programmazione, prevalentemente mi occupo di sistemistica in ambiente windows e comprendo pienamente le vostre risposte, soprattutto quando mi scrivere che sui forum non si chiede la “pappa pronta”, forse la mia può esser sembrata una richiesta cosi improntata, ma credetemi non voleva esserlo. Per il resto, grazie ai vostri suggerimenti ho implementato lo script php per eseguire il backup, l'unica differenza che ho notato è il peso del dump, nel mio caso dump molto molto piccoli, circa 15Mb. 

    In sostanza se eseguo il dump effettuando un export da phpmyadmin, quest'ultimo pesa 15Mb, se lo eseguo tramite lo script pesa di meno (ed intendo gia scompattato), circa 11Mb, comparando i due file sembrerebbe (dall'alto della mia ignoranza) che si tratti di una questione di “struttura”, ma secondo me il dump è corretto.

    Adesso effettuo una prova, importando il dump in un ambiente di “Test” e verificando se tutti i dati siano presenti.

    Per il momento vi ringrazio tutti e mi scuso ancora se ho urtato qualcuno, ma credetemi non era mia intenzione.

    Grazie

  • Re: Effettuare il dump di un database e riceverlo tramite mail o su pc

    Non hai urtato nessuno. Ogni tanto una battuta per rompere il ghiaccio ma non troppe se no si rompono i…

    Buon lavoro… 

    P.s. se l'amministratore delegato abdica fammi sapere ;)

  • Re: Effettuare il dump di un database e riceverlo tramite mail o su pc

    28/08/2023 - sihsandrea ha scritto:


    Non hai urtato nessuno. Ogni tanto una battuta per rompere il ghiaccio ma non troppe se no si rompono i…

    Buon lavoro… 

    P.s. se l'amministratore delegato abdica fammi sapere ;)

    Ok, ti farò sapere sicuramente :)

    Grazie ancora

Devi accedere o registrarti per scrivere nel forum
6 risposte