{"id":2401,"date":"2011-07-30T17:08:13","date_gmt":"2011-07-30T15:08:13","guid":{"rendered":"http:\/\/xlogic.org\/blog\/?p=2401"},"modified":"2024-01-20T17:52:55","modified_gmt":"2024-01-20T16:52:55","slug":"cpanel-script-backup-automatico-2011","status":"publish","type":"post","link":"https:\/\/xlogic.org\/blog\/cpanel-script-backup-automatico-2011.html\/","title":{"rendered":"CPanel &#8211; Script Backup Automatico 2011"},"content":{"rendered":"<p>Questo script utilizza i CronJob di cPanel per effettuare dei Backup automatici tramite uno script PHP per poi caricarlo su un server FTP specificato.<\/p>\n<p><strong>Cosa sono i CronJob?<\/strong><\/p>\n<p>I Cron job ti permettono di automatizzare alcuni comandi o script sul tuo server per completare azioni ripetitive automaticamente. Un cron job ti permette di eseguire un certo comando secondo i tempi impostati nel cron job stesso. Ad esempio, potresti impostare un cron job per cancellare i file temporanei ogni settimana cos\u00ec che il tuo spazio disco non si possa riempire o come in questo caso, effettuare dei backup completi automatici.<\/p>\n<p><strong>Lo Script<\/strong><\/p>\n<p>Lo script originale \u00e8 stato creato da\u00a0<a href=\"https:\/\/xlogic.org\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Justin Cook<\/a>, mentre questa versione \u00e8 stata modificata opportunamente per lavorare con le versioni pi\u00f9 recenti di cPanel.<\/p>\n<p>La prima cosa che bisogna fare \u00e8 aprire Notepad o un qualsiasi editor di testo e copiare il codice seguente:<\/p>\n<address><span style=\"color: #808080;\"><span style=\"color: #808080;\">&lt;?php<\/span><\/span>\/\/\u00a0PHP\u00a0script\u00a0to\u00a0allow\u00a0periodic\u00a0cPanel\u00a0backups\u00a0automatically,\u00a0optionally\u00a0to\u00a0a\u00a0remote\u00a0FTP\u00a0server.<br \/>\n\/\/\u00a0This\u00a0script\u00a0contains\u00a0passwords.\u00a0KEEP\u00a0ACCESS\u00a0TO\u00a0THIS\u00a0FILE\u00a0SECURE!\u00a0(place\u00a0it\u00a0in\u00a0your\u00a0home\u00a0dir,\u00a0not\u00a0\/www\/)<\/p>\n<p>\/\/\u00a0*********\u00a0THE\u00a0FOLLOWING\u00a0ITEMS\u00a0NEED\u00a0TO\u00a0BE\u00a0CONFIGURED\u00a0*********<\/p>\n<p>\/\/\u00a0Info\u00a0required\u00a0for\u00a0cPanel\u00a0access<br \/>\n$cpuser\u00a0=\u00a0&#8220;username&#8221;;\u00a0\/\/\u00a0Username\u00a0used\u00a0to\u00a0login\u00a0to\u00a0CPanel<br \/>\n$cppass\u00a0=\u00a0&#8220;password&#8221;;\u00a0\/\/\u00a0Password\u00a0used\u00a0to\u00a0login\u00a0to\u00a0CPanel<br \/>\n$domain\u00a0=\u00a0&#8220;domain&#8221;;\u00a0\/\/\u00a0Domain\u00a0name\u00a0where\u00a0CPanel\u00a0is\u00a0run<\/p>\n<p>\/\/\u00a0Info\u00a0required\u00a0for\u00a0FTP\u00a0host<br \/>\n$ftpuser\u00a0=\u00a0&#8220;username@domain.com&#8221;;\u00a0\/\/\u00a0Username\u00a0for\u00a0FTP\u00a0account<br \/>\n$ftppass\u00a0=\u00a0&#8220;password&#8221;;\u00a0\/\/\u00a0Password\u00a0for\u00a0FTP\u00a0account<br \/>\n$ftphost\u00a0=\u00a0&#8220;ftp.domain.com&#8221;;\u00a0\/\/\u00a0Full\u00a0hostname\u00a0or\u00a0IP\u00a0address\u00a0for\u00a0FTP\u00a0host<br \/>\n$ftpmode\u00a0=\u00a0&#8220;ftp&#8221;;\u00a0\/\/\u00a0FTP\u00a0mode\u00a0(&#8220;ftp&#8221;\u00a0for\u00a0active,\u00a0&#8220;passiveftp&#8221;\u00a0for\u00a0passive)<br \/>\n$ftpport\u00a0=\u00a0&#8220;21&#8221;;<br \/>\n$rdir\u00a0=\u00a0&#8220;\/&#8221;;<\/p>\n<p>\/\/\u00a0Notification\u00a0information<br \/>\n$notifyemail\u00a0=\u00a0&#8220;your@email&#8221;;\u00a0\/\/\u00a0Email\u00a0address\u00a0to\u00a0send\u00a0results<\/p>\n<p>\/\/\u00a0Secure\u00a0or\u00a0non-secure\u00a0mode<br \/>\n$secure\u00a0=\u00a00;\u00a0\/\/\u00a0Set\u00a0to\u00a01\u00a0for\u00a0SSL\u00a0(requires\u00a0SSL\u00a0support),\u00a0otherwise\u00a0will\u00a0use\u00a0standard\u00a0HTTP<\/p>\n<p>\/\/\u00a0Set\u00a0to\u00a01\u00a0to\u00a0have\u00a0web\u00a0page\u00a0result\u00a0appear\u00a0in\u00a0your\u00a0cron\u00a0log<br \/>\n$debug\u00a0=\u00a00;<\/p>\n<p>\/\/\u00a0***********\u00a0NO\u00a0CONFIGURATION\u00a0ITEMS\u00a0BELOW\u00a0THIS\u00a0LINE\u00a0*********<\/p>\n<p>if\u00a0($secure)\u00a0{<br \/>\n$url\u00a0=\u00a0&#8220;ssl:\/\/&#8221;.$domain;<br \/>\n$port\u00a0=\u00a02083;<br \/>\n}\u00a0else\u00a0{<br \/>\n$url\u00a0=\u00a0$domain;<br \/>\n$port\u00a0=\u00a02082;<br \/>\n}<\/p>\n<p>$socket\u00a0=\u00a0fsockopen($url,$port);<br \/>\nif\u00a0(!$socket)\u00a0{\u00a0echo\u00a0&#8220;Failed\u00a0to\u00a0open\u00a0socket\u00a0connection&#8230;\u00a0Bailing\u00a0out!\\n&#8221;;\u00a0exit;\u00a0}<\/p>\n<p>\/\/\u00a0Encode\u00a0authentication\u00a0string<br \/>\n$authstr\u00a0=\u00a0$cpuser.&#8221;:&#8221;.$cppass;<br \/>\n$pass\u00a0=\u00a0base64_encode($authstr);<\/p>\n<p>$params\u00a0=\u00a0&#8220;dest=$ftpmode&amp;email=$notifyemail&amp;server=$ftphost&amp;user=$ftpuser&amp;pass=$ftppass&amp;port=$ftpport&amp;rdir=$rdir&amp;submit=Generate\u00a0a\u00a0full\u00a0backup&#8221;;<\/p>\n<p>\/\/\u00a0Make\u00a0POST\u00a0to\u00a0cPanel<br \/>\nfputs($socket,&#8221;POST\u00a0\/frontend\/x3\/backup\/dofullbackup.html?&#8221;.$params.&#8221;\u00a0HTTP\/1.0\\r\\n&#8221;);<br \/>\nfputs($socket,&#8221;Host:\u00a0$domain\\r\\n&#8221;);<br \/>\nfputs($socket,&#8221;Authorization:\u00a0Basic\u00a0$pass\\r\\n&#8221;);<br \/>\nfputs($socket,&#8221;Connection:\u00a0Close\\r\\n&#8221;);<br \/>\nfputs($socket,&#8221;\\r\\n&#8221;);<\/p>\n<p>\/\/\u00a0Grab\u00a0response\u00a0even\u00a0if\u00a0we\u00a0don&#8217;t\u00a0do\u00a0anything\u00a0with\u00a0it.<br \/>\nwhile\u00a0(!feof($socket))\u00a0{<br \/>\n$response\u00a0=\u00a0fgets($socket,4096);<br \/>\nif\u00a0($debug)\u00a0echo\u00a0$response;<br \/>\n}<\/p>\n<p>fclose($socket);<\/p>\n<p>?&gt;<\/p>\n<\/address>\n<p>Compilare i dettagli elencati spiegati nei commenti (cPanel Access etc.), tranne le impostazioni e la porta FTP. Salvare il file come backup.php e poi caricarlo nella directory principale del server. <strong>Attenzione<\/strong>: non caricare questo file nella directory public_html del vostro sito, in quanto contiene nome utente e password che concedono l&#8217;accesso a cPanel.<\/p>\n<p>&nbsp;<\/p>\n<p>Creare un nuovo processo cron andando in cPanel&gt; Cron Job e utilizzare queste impostazioni:<\/p>\n<p><a href=\"https:\/\/xlogic.org\/blog\/wp-content\/uploads\/2011\/07\/cronjob1.png\"><img decoding=\"async\" class=\"alignleft size-full wp-image-2437\" title=\"cronjob\" src=\"https:\/\/xlogic.org\/blog\/wp-content\/uploads\/2011\/07\/cronjob1.png\" alt=\"\" width=\"680\" height=\"265\" srcset=\"https:\/\/xlogic.org\/blog\/wp-content\/uploads\/2011\/07\/cronjob1.png 680w, https:\/\/xlogic.org\/blog\/wp-content\/uploads\/2011\/07\/cronjob1-300x117.png 300w\" sizes=\"(max-width: 680px) 100vw, 680px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>Consigliamo di impostare il tempo di esecuzione : una volta al giorno e di usare il seguente comando:<\/p>\n<p><strong>\/usr\/local\/bin\/php \/home\/username\/backup.php<\/strong><\/p>\n<p>L&#8217;impostazione &#8220;username&#8221; \u00e8 il vostro nome utente.<\/p>\n<p>Se tutto va bene, il cron verr\u00e0 eseguito a mezzanotte con le impostazioni che abbiamo usato nell&#8217;immagine e il backup sar\u00e0 caricato come archivio tar.gz nel server remoto. In seguito, per ripristinare il backup effettuato, contattate l&#8217;amministratore del server.<\/p>\n<p>&nbsp;<\/p>\n<div><span class=\"Apple-style-span\" style=\"font-family: Monaco, Consolas, Courier, monospace; line-height: 18px;\"><span style=\"color: #0000bb;\"><br \/>\n<\/span><\/span><\/div>\n<div><span class=\"Apple-style-span\" style=\"font-family: Monaco, Consolas, Courier, monospace; line-height: 18px;\"><span style=\"color: #0000bb;\"><br \/>\n<\/span><\/span><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Questo script utilizza i CronJob di cPanel per effettuare dei Backup automatici tramite uno script PHP per poi caricarlo su un server FTP specificato. Cosa sono i CronJob? I Cron job ti permettono di automatizzare alcuni comandi o script sul tuo server per completare azioni ripetitive automaticamente. Un cron job ti permette di eseguire un [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_lmt_disableupdate":"no","_lmt_disable":"","footnotes":""},"categories":[4,1410],"tags":[11,336,337,335,171,132],"class_list":["post-2401","post","type-post","status-publish","format-standard","hentry","category-guide","category-blogging","tag-cpanel","tag-cpanel-backup","tag-cpanel-cronjob","tag-cpanel-script-backup-2011","tag-hosting-cpanel","tag-redirect-301"],"modified_by":"Andrea (Xlogic.org)","_links":{"self":[{"href":"https:\/\/xlogic.org\/blog\/wp-json\/wp\/v2\/posts\/2401","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/xlogic.org\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/xlogic.org\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/xlogic.org\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/xlogic.org\/blog\/wp-json\/wp\/v2\/comments?post=2401"}],"version-history":[{"count":0,"href":"https:\/\/xlogic.org\/blog\/wp-json\/wp\/v2\/posts\/2401\/revisions"}],"wp:attachment":[{"href":"https:\/\/xlogic.org\/blog\/wp-json\/wp\/v2\/media?parent=2401"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/xlogic.org\/blog\/wp-json\/wp\/v2\/categories?post=2401"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/xlogic.org\/blog\/wp-json\/wp\/v2\/tags?post=2401"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}