{"id":513,"date":"2017-04-02T13:33:52","date_gmt":"2017-04-02T11:33:52","guid":{"rendered":"http:\/\/miroslaw.borodziuk.eu\/?p=513"},"modified":"2017-06-01T18:07:21","modified_gmt":"2017-06-01T16:07:21","slug":"wstep-do-planowania-zadan","status":"publish","type":"post","link":"http:\/\/miro.borodziuk.eu\/index.php\/2017\/04\/02\/wstep-do-planowania-zadan\/","title":{"rendered":"Planowanie zada\u0144"},"content":{"rendered":"<p>Planowanie zada\u0144 to funkcjonalno\u015b\u0107, kt\u00f3ra pozwala u\u017cytkownikom systemu na wykonywanie okre\u015blonych komend, zada\u0144 czy skrypt\u00f3w o zadanym, wybranym czasie w przysz\u0142o\u015bci. Wykonanie takiego zaplanowanego zadania mo\u017ce odby\u0107 si\u0119 tylko jeden raz ww przysz\u0142o\u015bci lub co pewien czas, okresowo o zadanej porze. Jednorazowe wykonywanie okre\u015blonych zada\u0144 o zadanej porze w przysz\u0142o\u015bci dotyczy na og\u00f3\u0142 zada\u0144, kt\u00f3re do swojego wykonania potrzebuj\u0105 du\u017co zasob\u00f3w komputera i w zwi\u0105zku z tym wymagaj\u0105 ma\u0142ego obci\u0105\u017cenia systemu.<!--more--> Z kolei zadania, kt\u00f3re wykonywane s\u0105 okresowo to wykonywanie kopii zapasowych, przycinanie log\u00f3w, monitorowanie systemu czy usuwanie niechcianych pik\u00f3w z systemu.<\/p>\n<p>Wykonywanie zaplanowanych zada\u0144 mo\u017ce by\u0107 realizowane przez dwa demony: <em>atd<\/em> i <em>crond<\/em>. <em>Atd<\/em> s\u0142u\u017cy do wykonywania zada\u0144 tylko jeden raz w przysz\u0142o\u015bci, <em>crond<\/em> wykonuje zadania okresowo o okre\u015blonym przez u\u017cytkownika czasie. W czasie startu <em>crond<\/em> czyta pliki umieszczone w katalogu <em>\/var\/spool\/cron<\/em> i <em>\/etc\/cron.d<\/em> i wczytuje je do pami\u0119ci aby m\u00f3c p\u00f3\u017aniej wykona\u0107 zadania okre\u015blone w tych plikach. Demon ten skanuje pliki konfiguracyjne co pewien czas i aktualizuje zadania do wykonania, nie wraca jednak do pomini\u0119tych zada\u0144. <em>Atd<\/em> w przeciwie\u0144stwie do <em>crond<\/em> je\u017celi przegapi zadanie to wykonuje je nast\u0119pnego dnia o tej samej porze.<\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #3366ff;\">Kontrola dost\u0119pu.<\/span><\/p>\n<p>Domy\u015blnie wszyscy u\u017cytkownicy mog\u0105 korzysta\u0107 z <em>atd<\/em> i <em>crond<\/em>, mo\u017cna jednak to kontrolowa\u0107 umieszczaj\u0105c okre\u015blonych u\u017cytkownik\u00f3w w odpowiednich plikach w katalogu <em>\/etc<\/em>. <em>Atd<\/em> u\u017cywa plik\u00f3w<em> at.allow<\/em> i <em>at.deny<\/em>, <em>crond<\/em> u\u017cywa plik\u00f3w <em>cron.allow<\/em> i <em>cron.deny<\/em>. Sk\u0142adnia plik\u00f3w jest identyczna, musimy tylko umie\u015bci\u0107 nazwy u\u017cytkownik\u00f3w w wybranych plikach, w ka\u017cdej linii pliku jedna nazwa u\u017cytkownika. <em>Root<\/em> zawsze mo\u017ce korzysta\u0107 z demon\u00f3w, o kt\u00f3rych mowa, nie wa\u017cne czy jest umieszczony w tych plikach. Domy\u015blnie plik <em>deny<\/em> jest za\u0142o\u017cony w systemie i jest pusty, plik <em>allow<\/em> nie jest za\u0142o\u017cony. Oznacza to pe\u0142en dost\u0119p do korzystania z obu narz\u0119dzi. Tabela poni\u017csza przedstawia r\u00f3\u017cne kombinacje plik\u00f3w <em>allow<\/em> i <em>deny<\/em> i ich wp\u0142yw na dost\u0119p do korzystania z narz\u0119dzi planowania zada\u0144.<\/p>\n<table style=\"width: 754.4px;\">\n<tbody>\n<tr>\n<td style=\"width: 151px;\"><span style=\"color: #808080;\"><em>at.allow \/ cron.allow<\/em><\/span><\/td>\n<td style=\"width: 177px;\"><span style=\"color: #808080;\"><em>at.deny \/ cron.deny<\/em><\/span><\/td>\n<td style=\"width: 386.4px;\"><span style=\"color: #808080;\"><em>Znaczenie<\/em><\/span><\/td>\n<\/tr>\n<tr>\n<td style=\"width: 151px;\"><span style=\"color: #008000;\">Za\u0142o\u017cony i zawiera wpisy<\/span><\/td>\n<td style=\"width: 177px;\"><span style=\"color: #3366ff;\">Obecno\u015b\u0107 pliku nie ma znaczenia<\/span><\/td>\n<td style=\"width: 386.4px;\">Wszyscy u\u017cytkownicy umieszczeni w pliku <em>allow<\/em> mog\u0105 korzysta\u0107 z narz\u0119dzi planowania zada\u0144<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 151px;\"><span style=\"color: #008000;\">Za\u0142o\u017cony ale jest pusty<\/span><\/td>\n<td style=\"width: 177px;\"><span style=\"color: #3366ff;\">Obecno\u015b\u0107 pliku nie ma znaczenia<\/span><\/td>\n<td style=\"width: 386.4px;\">\u017baden u\u017cytkownik poza root nie mo\u017ce korzysta\u0107 z narz\u0119dzi<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 151px;\"><span style=\"color: #008000;\">Brak pliku<\/span><\/td>\n<td style=\"width: 177px;\"><span style=\"color: #3366ff;\">Za\u0142o\u017cony i zawiera wpisy<\/span><\/td>\n<td style=\"width: 386.4px;\">Wszyscy u\u017cytkownicy inni ni\u017c umieszczeni w pliku <em>deny<\/em> mog\u0105 korzysta\u0107 z narz\u0119dzi planowania zada\u0144<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 151px;\"><span style=\"color: #008000;\">Brak pliku<\/span><\/td>\n<td style=\"width: 177px;\"><span style=\"color: #3366ff;\">Za\u0142o\u017cony ale jest pusty<\/span><\/td>\n<td style=\"width: 386.4px;\">Wszyscy u\u017cytkownicy mog\u0105 korzysta\u0107 z narz\u0119dzi planowania zada\u0144<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 151px;\"><span style=\"color: #008000;\">Brak pliku<\/span><\/td>\n<td style=\"width: 177px;\"><span style=\"color: #3366ff;\">Brak pliku<\/span><\/td>\n<td style=\"width: 386.4px;\">\u017baden u\u017cytkownik poza root nie mo\u017ce korzysta\u0107 z narz\u0119dzi<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Je\u017celi jaki\u015b u\u017cytkownik nie jest uprawniony do korzystania z <em>at<\/em> pojawia si\u0119 komunikat:<br \/>\n<code>You do not have permission to use at.<\/code><\/p>\n<p>Je\u017celi np. u\u017cytkownik user1 nie jest uprawniony do korzystania z <em>cron<\/em> pojawia si\u0119 komunikat:<br \/>\n<code> You (user1) are not allowed to use this program (crontab)<\/code><br \/>\n<code>See crontab(1) for more information<\/code><\/p>\n<p>W obu przyk\u0142adowych przypadkach umieszczone zosta\u0142 u\u017cytkownik <em>user1<\/em> w plikach <em>at.deny<\/em> i <em>cron.deny<\/em>.<\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #3366ff;\">Plik log.<\/span><\/p>\n<p>Wszystkie czynno\u015bci wykonywane przez atd i crond logowane s\u0105 w pliku <em>\/var\/log\/cron<\/em>.\u00a0 W logu umieszczane s\u0105 takie informacje jak aktywno\u015b\u0107, nazwa hosta, w\u0142a\u015bciciel, PID i komunikat. W pliku znajduj\u0105 si\u0119 tak\u017ce informacje o uruchomieniu czy wy\u0142\u0105czeniu demona <em>crond<\/em>.<\/p>\n<p><code># cat \/var\/log\/cron<\/code><br \/>\n<code>Apr\u00a0 2 03:43:01 centos run-parts(\/etc\/cron.daily)[11448]: finished logrotate<\/code><br \/>\n<code>Apr\u00a0 2 03:43:01 centos run-parts(\/etc\/cron.daily)[11426]: starting man-db.cron<\/code><br \/>\n<code>Apr\u00a0 2 03:43:12 centos run-parts(\/etc\/cron.daily)[11459]: finished man-db.cron<\/code><br \/>\n<code>Apr\u00a0 2 03:43:12 centos run-parts(\/etc\/cron.daily)[11426]: starting mlocate<\/code><br \/>\n<code>Apr\u00a0 2 03:43:13 centos run-parts(\/etc\/cron.daily)[11470]: finished mlocate<\/code><br \/>\n<code>Apr\u00a0 2 03:43:13 centos anacron[11062]: Job `cron.daily' terminated<\/code><br \/>\n<code>Apr\u00a0 2 03:43:13 centos anacron[11062]: Normal exit (1 job run)<\/code><br \/>\n<code>Apr\u00a0 2 03:50:01 centos CROND[11530]: (root) CMD (\/usr\/lib64\/sa\/sa1 1 1)<\/code><br \/>\n<code>Apr\u00a0 2 04:00:01 centos CROND[11616]: (root) CMD (\/usr\/lib64\/sa\/sa1 1 1)<\/code><br \/>\n<code>Apr\u00a0 2 04:01:01 centos CROND[11629]: (root) CMD (run-parts \/etc\/cron.hourly)<\/code><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Planowanie zada\u0144 to funkcjonalno\u015b\u0107, kt\u00f3ra pozwala u\u017cytkownikom systemu na wykonywanie okre\u015blonych komend, zada\u0144 czy skrypt\u00f3w o zadanym, wybranym czasie w przysz\u0142o\u015bci. Wykonanie takiego zaplanowanego zadania mo\u017ce odby\u0107 si\u0119 tylko jeden raz ww przysz\u0142o\u015bci lub co pewien czas, okresowo o zadanej porze. Jednorazowe wykonywanie okre\u015blonych zada\u0144 o zadanej porze w przysz\u0142o\u015bci dotyczy na og\u00f3\u0142 zada\u0144, kt\u00f3re &hellip; <\/p>\n<p class=\"link-more\"><a href=\"http:\/\/miro.borodziuk.eu\/index.php\/2017\/04\/02\/wstep-do-planowania-zadan\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Planowanie zada\u0144&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[34],"tags":[],"_links":{"self":[{"href":"http:\/\/miro.borodziuk.eu\/index.php\/wp-json\/wp\/v2\/posts\/513"}],"collection":[{"href":"http:\/\/miro.borodziuk.eu\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/miro.borodziuk.eu\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/miro.borodziuk.eu\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/miro.borodziuk.eu\/index.php\/wp-json\/wp\/v2\/comments?post=513"}],"version-history":[{"count":28,"href":"http:\/\/miro.borodziuk.eu\/index.php\/wp-json\/wp\/v2\/posts\/513\/revisions"}],"predecessor-version":[{"id":1302,"href":"http:\/\/miro.borodziuk.eu\/index.php\/wp-json\/wp\/v2\/posts\/513\/revisions\/1302"}],"wp:attachment":[{"href":"http:\/\/miro.borodziuk.eu\/index.php\/wp-json\/wp\/v2\/media?parent=513"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/miro.borodziuk.eu\/index.php\/wp-json\/wp\/v2\/categories?post=513"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/miro.borodziuk.eu\/index.php\/wp-json\/wp\/v2\/tags?post=513"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}