{"id":56,"date":"2021-01-05T18:15:00","date_gmt":"2021-01-05T17:15:00","guid":{"rendered":"https:\/\/192.168.100.14\/?p=56"},"modified":"2021-01-05T18:15:00","modified_gmt":"2021-01-05T17:15:00","slug":"backup-plikow-i-katalogow-pod-linuxem","status":"publish","type":"post","link":"https:\/\/sztab.eu\/?p=56","title":{"rendered":"Backup plik\u00f3w i katalog\u00f3w pod linuxem."},"content":{"rendered":"\n<p>Kopia bezpiecze\u0144stwa jest podstaw\u0105 w u\u017cytkowaniu jakiegokolwiek systemu z rodziny Linux. Doszed\u0142em do wniosku \u017ce najlepiej takie rzeczy wymusi\u0107 robi\u0105c backup chronologiczny na systemie w nocy i w pe\u0142ni zautomatyzowanie. Wiem \u017ce istnieje wiele narz\u0119dzi takie jak np. <a href=\"http:\/\/www.bacula.org\" target=\"_blank\" rel=\"noreferrer noopener\">Bacula<\/a> kt\u00f3re s\u0105 napisane specjalnie do tego celu ale w sumie nie ma to jak swoje :P\u2026.<\/p>\n\n\n\n<p>Aby skrypt dzia\u0142a\u0142 b\u0119dziemy musieli mie\u0107 dost\u0119p do maszyny jako root, dost\u0119p do jakiego\u015b serwera za po\u015brednictwem ftp-a oraz oczywi\u015bcie klienta ftp (sugeruje lftp). Skrypt jest napisany do tworzenia kopii bezpiecze\u0144stwa poczty,bazy danych mysql, serwera httpd, u\u017cytkownika w \/home\/user oraz oczywi\u015bcie katalogu \/etc, je\u017celi nie chcemy backup\u00f3w tylu us\u0142ug wystarczy wstawi\u0107 komentarze w odpowiednie linie . Kolejn\u0105 funkcj\u0105 skryptu jest trzymanie stworzonych kopii na zdalnym serwerze 7 dni oraz 4 dni na lokalnej maszynie. Oczywi\u015bcie te\u017c do zmiany w kodzie\u2026<\/p>\n\n\n\n<!--more-->\n\n\n\n<p>A wi\u0119c skrypt:<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-bash\" data-lang=\"Bash\"><code>#!\/bin\/bash\n#Ustawienia\n#miejsce gdzie bedziemy trzymac backupy\nbackup=\/backup\n#Katalogi ktore chcemy backupowac\netc=&quot;\/etc&quot;\nuserzy=&quot;\/home\/user&quot;\nwww=&quot;\/var\/www\/&quot;\nbaza=&quot;\/var\/lib\/mysql&quot;\npoczta=&quot;\/var\/mail\/&quot;\nkatalog=&quot;katalog_na_ftpie\/&quot;\n#Pobieranie daty\naktualnadata=`date +%Y-%m-%d`\nmaszyna=`hostname`\nczyszczenie=`date -d &quot;7 days ago&quot; +%Y-%m-%d`\nczyszczenie_lokalne=`date -d &quot;4 days ago&quot; +%Y-%m-%d`\n#Tworzenie backupu\n#ETC\ntar -zcf $backup\/etc-$aktualnadata-$maszyna.tar.gz $etc\n#Userzy\ntar -zcf $backup\/users-$aktualnadata-$maszyna.tar.gz $userzy\n#Www\ntar -zcf $backup\/www-$aktualnadata-$maszyna.tar.gz $www\n#Baza\ntar -zcf $backup\/baza-$aktualnadata-$maszyna.tar.gz $baza\n#Poczta\ntar -zcf $backup\/poczta-$aktualnadata-$maszyna.tar.gz $poczta\n#Ewentualna wysylka gdzies na ftpa (wymagany lftp na maszynie) (!!!nalezy zmienic!!!)\nlftp -p 787 -u User,&quot;haselko&quot; 1.2.3.4 &lt;&lt; EOS2\ncd $katalog\nput $backup\/etc-$aktualnadata-$maszyna.tar.gz\nrm etc-$czyszczenie-$maszyna.tar.gz\nput $backup\/users-$aktualnadata-$maszyna.tar.gz\nrm users-$czyszczenie-$maszyna.tar.gz\nput $backup\/www-$aktualnadata-$maszyna.tar.gz\nrm www-$czyszczenie-$maszyna.tar.gz\nput $backup\/baza-$aktualnadata-$maszyna.tar.gz\nrm baza-$czyszczenie-$maszyna.tar.gz\nput $backup\/poczta-$aktualnadata-$maszyna.tar.gz\nrm poczta-$czyszczenie-$maszyna.tar.gz\nbye\nEOS2\n#Usuwanie_starszych\nrm $backup\/etc-$czyszczenie_lokalne-$maszyna.tar.gz\nrm $backup\/userzy-$czyszczenie_lokalne-$maszyna.tar.gz\nrm $backup\/www-$czyszczenie_lokalne-$maszyna.tar.gz\nrm $backup\/baza-$czyszczenie_lokalne-$maszyna.tar.gz\nrm $backup\/poczta-$czyszczenie_lokalne-$maszyna.tar.gz<\/code><\/pre><\/div>\n\n\n\n<p>Najlepiej stworzy\u0107 katalog \/backup i umie\u015bci\u0107 w nim zawarto\u015b\u0107 skryptu pod nazw\u0105 backup.sh.<\/p>\n\n\n\n<p>Pozostaje jedynie uruchomi\u0107 to w \/etc\/crontab np.<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-bash\" data-lang=\"Bash\"><code>* 3 * * * root \/backup\/backup<\/code><\/pre><\/div>\n\n\n\n<p>Uzyskali\u015bmy w ten spos\u00f3b codzienny, chronologiczny backup katalog\u00f3w wykonywany o 3 w nocy.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Kopia bezpiecze\u0144stwa jest podstaw\u0105 w u\u017cytkowaniu jakiegokolwiek systemu z rodziny Linux. Doszed\u0142em do wniosku \u017ce najlepiej takie rzeczy wymusi\u0107 robi\u0105c backup chronologiczny na systemie w nocy i w pe\u0142ni zautomatyzowanie. Wiem \u017ce istnieje wiele narz\u0119dzi takie jak np. Bacula kt\u00f3re &hellip; <a href=\"https:\/\/sztab.eu\/?p=56\">Czytaj dalej <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6,4,5],"tags":[],"class_list":["post-56","post","type-post","status-publish","format-standard","hentry","category-bash","category-linux","category-skrypty"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/sztab.eu\/index.php?rest_route=\/wp\/v2\/posts\/56","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sztab.eu\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sztab.eu\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/sztab.eu\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/sztab.eu\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=56"}],"version-history":[{"count":1,"href":"https:\/\/sztab.eu\/index.php?rest_route=\/wp\/v2\/posts\/56\/revisions"}],"predecessor-version":[{"id":57,"href":"https:\/\/sztab.eu\/index.php?rest_route=\/wp\/v2\/posts\/56\/revisions\/57"}],"wp:attachment":[{"href":"https:\/\/sztab.eu\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=56"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sztab.eu\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=56"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sztab.eu\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=56"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}