{"id":28,"date":"2012-02-05T02:05:37","date_gmt":"2012-02-05T00:05:37","guid":{"rendered":"http:\/\/trindade.myphotos.cc\/freebsdparatodos\/?p=28"},"modified":"2012-02-05T02:05:37","modified_gmt":"2012-02-05T00:05:37","slug":"manutencao-periodica-do-freebsd","status":"publish","type":"post","link":"https:\/\/trindade.myphotos.cc\/receitasinformaticas\/2012\/02\/05\/manutencao-periodica-do-freebsd\/","title":{"rendered":"Manuten\u00e7\u00e3o peri\u00f3dica do FreeBSD"},"content":{"rendered":"<p>Qual\u00adquer servi\u00addor pre\u00adcisa de manuten\u00e7\u00e3o per\u00adi\u00f3di\u00adca. Nor\u00admal\u00admente, os admin\u00adistradores de sis\u00adtema con\u00adfi\u00adam no coman\u00addo <span style=\"font-family: 'andale mono', times\"><a href=\"http:\/\/www.freebsd.org\/cgi\/man.cgi?query=cron\">cron(8)<\/a><\/span>.<\/p>\n<p>Mas o FreeB\u00adSD j\u00e1 dis\u00adp\u00f5e de uma infra-estru\u00adtu\u00adra para manuten\u00e7\u00e3o per\u00adi\u00f3di\u00adca. Tra\u00adta-se do coman\u00addo <span style=\"font-family: 'andale mono', times\"><a href=\"http:\/\/www.freebsd.org\/cgi\/man.cgi?query=periodic\">periodic(8)<\/a><\/span>.<\/p>\n<p><!--more--><\/p>\n<p>O ficheiro prin\u00adci\u00adpal de con\u00adfig\u00adu\u00adra\u00e7\u00e3o chama-se <span style=\"font-family: 'andale mono', times\"><a href=\"http:\/\/www.freebsd.org\/cgi\/man.cgi?query=periodic.conf\">periodic.conf(5)<\/a><\/span> e encon\u00adtra-se no direc\u00adt\u00f3rio <span style=\"font-family: 'andale mono', times\">\/etc<\/span>; as op\u00e7\u00f5es por defeito deste ficheiro encon\u00adtram-se no ficheiro <span style=\"font-family: 'andale mono', times\">\/etc\/defaults\/periodic.conf<\/span>. Al\u00e9m destes dois ficheiros, pode-se definir um ter\u00adceiro (<span style=\"font-family: 'andale mono', times\">\/etc\/periodic.conf.local<\/span>). As op\u00e7\u00f5es definidas no ficheiro <span style=\"font-family: 'andale mono', times\">periodic.conf<\/span> tomam pre\u00adced\u00ean\u00adcia \u00e0s do <span style=\"font-family: 'andale mono', times\">\/etc\/defaults\/periodic.conf<\/span> e as do ficheiro <span style=\"font-family: 'andale mono', times\">\/etc\/periodic.conf.local<\/span> tomam pre\u00adced\u00ean\u00adcias sobre as do <span style=\"font-family: 'andale mono', times\">\/etc\/periodic.conf<\/span>.O sis\u00adtema vem j\u00e1 con\u00adfig\u00adu\u00adra\u00addo para algu\u00admas das tare\u00adfas mais comuns de manuten\u00e7\u00e3o, tais como ver\u00adi\u00adfi\u00adca\u00e7\u00f5es de segu\u00adran\u00e7a, <em>back\u00adups<\/em>&nbsp;dos ficheiros prin\u00adci\u00adpais de con\u00adfig\u00adu\u00adra\u00e7\u00e3o (<span style=\"font-family: 'andale mono', times\"><a href=\"http:\/\/www.freebsd.org\/cgi\/man.cgi?query=passwd&amp;sektion=5\">passwd(5)<\/a><\/span>, <span style=\"font-family: 'andale mono', times\"><a href=\"http:\/\/www.freebsd.org\/cgi\/man.cgi?query=group&amp;sektion=5\">group(5)<\/a><\/span>, <span style=\"font-family: 'andale mono', times\"><a href=\"http:\/\/www.freebsd.org\/cgi\/man.cgi?query=aliases&amp;sektion=5\">aliases(5)<\/a><\/span> e <span style=\"font-family: 'andale mono', times\"><a href=\"http:\/\/www.freebsd.org\/cgi\/man.cgi?query=pkgdb&amp;sektion=1\">pkgdb(1)<\/a><\/span>), bem como relat\u00f3rios do esta\u00addos das par\u00adti\u00e7\u00f5es, filas de <em>mail<\/em>, rede, etc. Estas s\u00e3o as tare\u00adfas de manuten\u00e7\u00e3o di\u00e1rias. Exis\u00adtem tam\u00adb\u00e9m pr\u00e9-con\u00adfig\u00adu\u00adradas tare\u00adfas de manuten\u00e7\u00e3o sem\u00adanais e mensais.<\/p>\n<p>Tudo isto depende de <em>scripts<\/em>&nbsp;que se encon\u00adtram nos direc\u00adt\u00f3rios <span style=\"font-family: 'andale mono', times\">dai\u00adly<\/span>, <span style=\"font-family: 'andale mono', times\">week\u00adly<\/span> e <span style=\"font-family: 'andale mono', times\">month\u00adly<\/span>, con\u00adti\u00addos no direc\u00adt\u00f3rio <span style=\"font-family: 'andale mono', times\">\/etc\/periodic<\/span>. Emb\u00ado\u00adra um admin\u00adistrador de sis\u00adtema pos\u00adsa acres\u00adcen\u00adtar as suas pr\u00f3prias tare\u00adfas a estes direc\u00adt\u00f3rios, isto n\u00e3o \u00e9 acon\u00adsel\u00adh\u00e1v\u00adel. Em vez dis\u00adso, pode-se uti\u00adlizar o direc\u00adt\u00f3rio <span style=\"font-family: 'andale mono', times\">\/usr\/local\/etc\/periodic<\/span>. Den\u00adtro deste podem-se cri\u00adar os mes\u00admos direc\u00adt\u00f3rios&nbsp;<span style=\"font-family: 'andale mono', times\">dai\u00adly<\/span>,&nbsp;<span style=\"font-family: 'andale mono', times\">week\u00adly<\/span>&nbsp;e&nbsp;<span style=\"font-family: 'andale mono', times\">month\u00adly<\/span>. Os <em>scripts<\/em>&nbsp;aqui con\u00adti\u00addos ser\u00e3o exe\u00adcu\u00adta\u00addos depois dos <em>scripts<\/em>&nbsp;prin\u00adci\u00adpais do sistema.<\/p>\n<p>Que uso se pode dar a esta infra-estru\u00adtu\u00adra? Qual\u00adquer um que se dese\u00adje. Eu, por exem\u00adp\u00adlo, defi\u00adni uma tare\u00adfa di\u00e1ria que faz <em>back\u00adups<\/em>&nbsp;das bases de dados dos meus <em>blogs<\/em>&nbsp;e uma tare\u00adfa men\u00adsal que faz <em>back\u00adup<\/em>&nbsp;da min\u00adha base de dados de <em><span class=\"caps\">IP<\/span> account\u00ading<\/em>.<\/p>\n<p>O <em>script<\/em>&nbsp;que desen\u00advolvi para o <em>back\u00adup<\/em> di\u00e1rio das bases de dados&nbsp;\u00e9:<\/p>\n<pre>#!\/bin\/sh\n#\n# If there is a global system configuration file, suck it in.\nif [ -r \/etc\/defaults\/periodic.conf ]\nthen\n . \/etc\/defaults\/periodic.conf\n source_periodic_confs\nfi\ncase \"$daily_mysql_backup_enable\" in\n  [Yy][Ee][Ss])\n    echo\n    echo -n 'Backing up MySQL databases: '\n    backup_file_name=${mysql_backup_dir}\/mysql_backup-`date +%Y%m%d`.sql\n    for i in ${daily_mysql_backup_ignore_tables}; do\n      ignore_tables=\"${ignore_tables} --ignore-table=$i\"\n    done\n    touch ${backup_file_name}\n    for i in ${daily_mysql_backup_databases}; do\n      echo -n \"$i \"\n      \/usr\/local\/bin\/mysqldump --skip-quick --force --single-transaction -uroot \\\n        -ppassword ${ignore_tables} --databases $i &gt;&gt; ${backup_file_name}\n    done\n    \/usr\/local\/bin\/mysqldump --skip-quick --force --single-transaction -uroot \\\n        -ppassword pmacct traffic_by_month &gt;&gt; ${backup_file_name}\n    echo\n    mdrc=$?\n    \/usr\/bin\/bzip2 -9 ${backup_file_name}\n    bzrc=$?\n    if [ mdrc=0 -a bzrc=0 ]; then\n      rc=0\n    else\n      rc=1\n    fi\n  ;;\n  *) rc=0;;\nesac\nexit $rc<\/pre>\n<p>N\u00e3o esta\u00admos, no entan\u00adto, lim\u00adi\u00adta\u00addos a esper\u00adar que o coman\u00addo <span style=\"font-family: 'andale mono', times\"><a href=\"http:\/\/www.freebsd.org\/cgi\/man.cgi?query=periodic\">periodic(8)<\/a><\/span> seja invo\u00adca\u00addo pelo <span style=\"font-family: 'andale mono', times\"><a href=\"http:\/\/www.freebsd.org\/cgi\/man.cgi?query=cron\">cron(8)<\/a><\/span>. Pode-se, a qual\u00adquer momen\u00adto, exe\u00adcu\u00adtar o coman\u00addo <span style=\"font-family: 'andale mono', times\">peri\u00adod\u00adic &lt;direc\u00adt\u00f3rio&gt;<\/span> para exe\u00adcu\u00adtar os <em>scripts<\/em>&nbsp;con\u00adti\u00addos nos direc\u00adt\u00f3rios <span style=\"font-family: 'andale mono', times\">\/etc\/periodic\/&lt;direct\u00f3rio&gt;<\/span> e <span style=\"font-family: 'andale mono', times\">\/usr\/local\/periodic\/&lt;direct\u00f3rio&gt;<\/span>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Qual\u00adquer servi\u00addor pre\u00adcisa de manuten\u00e7\u00e3o per\u00adi\u00f3di\u00adca. Nor\u00admal\u00admente, os admin\u00adistradores de sis\u00adtema con\u00adfi\u00adam no coman\u00addo cron(8). Mas o FreeB\u00adSD j\u00e1 dis\u00adp\u00f5e de uma infra-estru\u00ad\u00adtu\u00adra para manuten\u00e7\u00e3o per\u00adi\u00f3di\u00adca. Tra\u00ad\u00adta-se do coman\u00addo periodic(8).<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"wp_typography_post_enhancements_disabled":false,"footnotes":""},"categories":[2,13],"tags":[],"class_list":["post-28","post","type-post","status-publish","format-standard","hentry","category-administracao","category-freebsd"],"_links":{"self":[{"href":"https:\/\/trindade.myphotos.cc\/receitasinformaticas\/wp-json\/wp\/v2\/posts\/28","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/trindade.myphotos.cc\/receitasinformaticas\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/trindade.myphotos.cc\/receitasinformaticas\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/trindade.myphotos.cc\/receitasinformaticas\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/trindade.myphotos.cc\/receitasinformaticas\/wp-json\/wp\/v2\/comments?post=28"}],"version-history":[{"count":0,"href":"https:\/\/trindade.myphotos.cc\/receitasinformaticas\/wp-json\/wp\/v2\/posts\/28\/revisions"}],"wp:attachment":[{"href":"https:\/\/trindade.myphotos.cc\/receitasinformaticas\/wp-json\/wp\/v2\/media?parent=28"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/trindade.myphotos.cc\/receitasinformaticas\/wp-json\/wp\/v2\/categories?post=28"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/trindade.myphotos.cc\/receitasinformaticas\/wp-json\/wp\/v2\/tags?post=28"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}