{"id":771,"date":"2009-08-01T20:09:17","date_gmt":"2009-08-01T19:09:17","guid":{"rendered":"http:\/\/helgekoenig.de\/?p=771"},"modified":"2010-03-20T19:37:48","modified_gmt":"2010-03-20T18:37:48","slug":"backup-von-dateien-mysql-dbs-via-ftp","status":"publish","type":"post","link":"https:\/\/helgekoenig.de\/?p=771","title":{"rendered":"Backup von Dateien &#038; MySQL DBs via FTP"},"content":{"rendered":"<p>Nachdem ich den unglaublich weiten Interwebs kein Shell-Script gefunden habe, das mir zusagt (oder das ich mit meinen Wissensstand verstehe) habe ich jetzt selber eines geschrieben. Das war f\u00fcr mich schon eine ziemliche Herausforderung, da ich so gut wie \u00fcber keine Kenntnisse verf\u00fcge.<\/p>\n<p>Da es aber recht gut gelungen ist, dachte ich stelle es mal hier in den Blog, auf das es anderen Hilft.<br \/>\n(Zum Lesen des Scripts den Button dr\u00fccken)<\/p>\n<p><!--more--><\/p>\n<blockquote><p>#! \/bin\/bash<br \/>\n# Script to backup files by compressing them local and transfer to ftp<br \/>\n# Don&#8217;t copy this script in the $BACKUPPATH, it will be deleted at the end of this script. Same goes for the folder itself<br \/>\n# to run this script by a crontab on mondays at 6am type &#8222;crontab -e&#8220; and add the line &#8222;* 6 * * 1 \/root\/Scripts\/ftp_backup.sh&#8220;<br \/>\n# If you change the file path and \/ or name of this script, change your crontab entry<br \/>\n# Give execute rights by &#8222;chmod u+x ftp_backup.sh&#8220;<br \/>\n#<br \/>\n# Created by Helge K\u00f6nig (HelgeKoenig@GMX.de)<br \/>\n# Mail me for comments or suggestions<\/p>\n<p># Parameters not to change<br \/>\nDATE_VAR=$(date +&#8220;%Y%m%d&#8220;)<\/p>\n<p># Parameters to change<br \/>\nBACKUPPATH=&#8220;\/backup&#8220;\t# path to the local backup folder<br \/>\nSCRIPTPATH=&#8220;\/root\/Scripts&#8220;\t# path to this script, needed for self backup<br \/>\nSQL_USER=&#8220;root&#8220;\t# SQL root user for DB Backup<br \/>\nSQL_PW=&#8220;pw&#8220;\t# see SQL_USER<br \/>\nFTP_IP=&#8220;192.168.0.10&#8243;\t# IP or Adress for the backup ftp server<br \/>\nFTP_USER=&#8220;user&#8220;\t# Should be self-explaining<br \/>\nFTP_PW=&#8220;pw&#8220;\t# see FTP_USER<\/p>\n<p># check for $BACKUP folder and if fails creating<br \/>\nif [ ! -d $BACKUPPATH ]; then mkdir $BACKUPPATH; fi<\/p>\n<p># Let teh backup beginz!<br \/>\nif [ `whoami` = root ] # check for root user<br \/>\nthen {<br \/>\ntar cvz -f $BACKUPPATH\/etc_$DATE_VAR.tgz \/etc\/\t# backup of the \/etc\/ (sub)-folder(s)<br \/>\ntar cvz -f $BACKUPPATH\/root-scripts_$DATE_VAR.tgz $SCRIPTPATH\t# backup of root scripts<\/p>\n<p># change DB_NAME to actual DB name<br \/>\n# don&#8217;t forget to change the DB Name in the FTP Backup Section too<br \/>\nmysqldump &#8211;user=$SQL_USER &#8211;password=$SQL_PW &#8222;DB_Name&#8220; &gt; &#8222;$BACKUPPATH\/DB_NAME_$DATE_VAR.sql&#8220;<br \/>\ngzip &#8222;$BACKUPPATH\/DB_NAME_$DATE_VAR.sql&#8220;<\/p>\n<p># begin FTP backup<br \/>\nftp -pinv $FTP_IP &lt;<\/p>\n<p>user $FTP_USER $FTP_PW<br \/>\nbin<br \/>\nput $BACKUPPATH\/etc_$DATE_VAR.tgz \/etc_$DATE_VAR.tgz<br \/>\nput $SCRIPTPATH\/root-scripts_$DATE_VAR.tgz \/root-scripts_$DATE_VAR.tgz<br \/>\nput $BACKUPPATH\/DB_NAME_$DATE_VAR.gz \/DB_NAME_$DATE_VAR.tgz<br \/>\nbye<br \/>\nEOFTP<\/p>\n<p># clean $BACKUPPATH<br \/>\nrm -R $BACKUPPATH<br \/>\n}<br \/>\nelse echo &#8222;This script need root user&#8220;; exit;<br \/>\nfi<\/p><\/blockquote>\n","protected":false},"excerpt":{"rendered":"<p>Nachdem ich den unglaublich weiten Interwebs kein Shell-Script gefunden habe, das mir zusagt (oder das ich mit meinen Wissensstand verstehe) habe ich jetzt selber eines geschrieben. Das war f\u00fcr mich schon eine ziemliche Herausforderung, da ich so gut wie \u00fcber &hellip; <a href=\"https:\/\/helgekoenig.de\/?p=771\">Weiter<\/a><\/p>\n","protected":false},"author":5,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[211],"tags":[167,170,168,173,169,171,172],"class_list":["post-771","post","type-post","status-publish","format-standard","hentry","category-netzkultur-it-stuff","tag-backup","tag-bash","tag-ftp","tag-linux","tag-mysql","tag-shell","tag-ubuntu"],"_links":{"self":[{"href":"https:\/\/helgekoenig.de\/index.php?rest_route=\/wp\/v2\/posts\/771","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/helgekoenig.de\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/helgekoenig.de\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/helgekoenig.de\/index.php?rest_route=\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/helgekoenig.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=771"}],"version-history":[{"count":0,"href":"https:\/\/helgekoenig.de\/index.php?rest_route=\/wp\/v2\/posts\/771\/revisions"}],"wp:attachment":[{"href":"https:\/\/helgekoenig.de\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=771"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/helgekoenig.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=771"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/helgekoenig.de\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=771"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}