Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2012-10-20 20:47:48

  remi - amputować akrobatów

remi
amputować akrobatów
Zarejestrowany: 2011-05-27

[Rozw.] Problem z wykonaniem skryptu z katalogu /etc/cron.daily

Serwus! Szczerze mówiąc mam małe obawy zakładając ten temat, ponieważ już jutro od około godziny 9.ej rano, nie będę miał fizycznego dostępu do laptopa na którym działa Squeeze. Nie mam także możliwości, aby wykorzystać np. [b]ssh[/b] etc,. Odległość jest imponująca bowiem wynosić będzie w przybliżeniu 300 km. Moja obawa wynika z prostej przyczyny; istnieje możliwość, że nie uda mi się do rana rozwiązać problemu, który de facto pojawił się dzisiaj. Nie wiem, również, czy właściwym jest zakładanie tego tematu. Niemniej, postanowiłem spróbować.

Potrzebuję, aby pewien, krótki składniowo skrypt był uruchamiany każdego dnia. W celu osiągnięcia tego, wydawało by się, prostego zamiaru utworzyłem testowy plik w katalogu [tt]/etc/cron.daily/test.sh[/tt], którego zadaniem było utworzenie pliku [tt][color=green]test[/color][/tt] w katalogu domowym użytkownika z treścią w stylu [i]plik testowy do sprawdzenia crona[/i] etc,. Oczywiście nadałem mu prawo do wykonywania via [tt]'chmod +x'[/tt] oraz zmieniłem prawo dostępu poprzez [tt]'chmod 755'[/tt] (podobnie jak wszystkie pliki w katalogu [tt]/etc/cron.daily[/tt]). Niestety, po ponownym uruchomieniu się komputera w/w pliku nie było w katalogu domowym, czyli cron nie zadziałał. Szukając rozwiązania tego problemu za pomocą internetu, wpadłem na taką możliwość, że pliki z końcówką [tt][b].sh[/b][/tt] nie są wykonywane przez mechanizm cron. Padła nawet konkluzja iż jest to bug Debiana. Któż wie? Być może tak jest. Tak więc, postanowiłem zmienić nazwę pliku [tt][color=green]test.sh[/color][/tt] na [tt][color=green]test[/color][/tt]. Niestety, to również nie odniosło skutku.

Usługi takie jak [b]at[/b], [b]crontab[/b], [b]anacron[/b] są zainstalowane i uruchamiane wraz ze startem systemu ([tt]system > administracja > usługi[/tt], zaznaczone w/w usługi). Wydaje się, że pomimo komunikatu [i]Starting Anacron[/i] owa usługa działa, ale zobaczcie co się dzieje, kiedy sprawdzam jej działanie:

Kod:

/*
** $ps auxxx |grep anacron
** remi     2472  0.0  0.0   3320   792 pts/0    S+   19:09   0:00 grep --color=auto anacron
*/

Jak widać usługa [b]anacron[/b] wydaje się, nie być uruomiona. Natiomiast usługi, sprawdzone tym samym sposobem, [b]at[/b], [b]crontab[/b] działają, są uruchomione. Nie wiem, czy [b]anacron[/b] może mieć jakikolwiek wpływ na ową zagwozdkę. Pomyślałem, że może plik [tt]/etc/anacrontab[/tt] może mieć coś wspólnego z tym 'problemem', ale jego treść wydaje się być poprawna, prawda?

Kod:

/*
** # These replace cron's entries
** 1     5    cron.daily     nice run-parts --report /etc/cron.daily
*/

Być może za szybko panikuję i wystarczyło by uruchomić [tt]crontab -e[/tt] i dodać odpowiednie wpisy np. w tym stylu; [tt][color=blue]1-31 1-12 0-6 root sh /etc/cron.daily/test[/color][/tt] lub  [tt][color=blue]*/5 * * * * root sh /etc/cron.daily/test[/color][/tt]. Podobnie do powyższego istnieją również specjalne [i]łańcuchy[/i], które mogą być stosowane: [tt][color=green]@daily  #Wykonaj raz dziennie [0 0 * * *][/color][/tt]. Przeglądając pliki logów, jedynie [tt]/var/log/syslog[/tt] zawiera jakieś informacje dot. cron'a, ale nie jestem pewien, czy obejmuje coś ważnego, coś, co może pomóc w rozwiązaniu tego zagadnienia.

Kod:

Oct 20 17:17:06 debian anacron[1415]: Job `cron.daily' terminated
Oct 20 17:17:06 debian anacron[1415]: Job `cron.weekly' started
Oct 20 17:17:06 debian anacron[2698]: Updated timestamp for job `cron.weekly' to 2012-10-20
Oct 20 17:28:32 debian /usr/sbin/cron[1448]: (CRON) INFO (pidfile fd = 3)
Oct 20 17:28:32 debian /usr/sbin/cron[1449]: (CRON) STARTUP (fork ok)
Oct 20 17:28:32 debian /usr/sbin/cron[1449]: (CRON) INFO (Running @reboot jobs)
Oct 20 17:36:26 debian anacron[1915]: Anacron 2.3 started on 2012-10-20
Oct 20 17:36:26 debian anacron[1915]: Normal exit (0 jobs run)
Oct 20 17:43:34 debian crontab[2420]: (root) LIST (root)
Oct 20 17:43:39 debian crontab[2422]: (root) BEGIN EDIT (root)
Oct 20 17:46:01 debian crontab[2422]: (root) END EDIT (root)
Oct 20 17:48:44 debian anacron[1385]: Anacron 2.3 started on 2012-10-20

[color=red][b]Note:[/b][/color] jeżeli uruchomię ten skrypt [tt]/etc/cron.daily/test[/tt] klikając na niego 2.wu krotnie i wybierając opcję [tt]'uruchom w terminalu'[/tt] (w środowisku GNOME 2.30 po kliknięciu na skrypt pojawia się okno z możliwością wyboru kilku opcji), to działa! Tworzy plik w katalogu domowym.

Ostatnio edytowany przez remi (2012-11-01 11:08:29)


[color=#5B5B5B][tt][b]Ł[/b][i]a[/i]m[/tt] [tt][b][i]Z[/b][/i]As[i]a[/i]d[b][/tt][tt]y[/tt][/b][b]![/b] w[i]Y[/i][b]j[/b][b]ą[/b]Tk[i][b]Ó[/b][/i][b]w[/b] [tt][i]j[/i][b]e[i]s[/i][/b]t[/tt] w[tt][b][/b]I[b][i]ę[/i][/b][/tt]c[b]e[i]j[/i][/b][/color].

Offline

 

#2  2012-10-20 21:13:54

  ilin - Palacz

ilin
Palacz
Skąd: PRLu
Zarejestrowany: 2006-05-03

Re: [Rozw.] Problem z wykonaniem skryptu z katalogu /etc/cron.daily

Dlaczego nie wpiszesz w

Kod:

crontab -e

Sciezki do skryptu.

W układzie

Kod:

20 20 * * * /sciezka/skrypt

Powinno codziennie o 20.20  wykonać ten skrypt.


[b]Problemy rozwiązujemy na forum nie na PW[/b] -> Niech inni na tym skorzystają.
[url=http://dug.net.pl/]Polski portal Debiana[/url]

Offline

 

#3  2012-10-20 23:01:03

  remi - amputować akrobatów

remi
amputować akrobatów
Zarejestrowany: 2011-05-27

Re: [Rozw.] Problem z wykonaniem skryptu z katalogu /etc/cron.daily

Cześć [b]ilin[/b]. W moim pierwszym poście, również rozważałem możliwość wykorzystania mechanizmu [tt][color=green]crontab -e[/color][/tt]. Problem jednak w tym, że trudno mi określić, zgadnąć, czy komputer będzie uruchomiony akurat o godzinie 20:20. Bardziej interesuje mnie zapis dot. wykonywania skryptu każdego dnia, ale bez określenia stałej godziny, rozumiesz? Skoro schemat wygląda w ten oto sposób;

[tt][color=green][b]* * * * *[/b][/color]  [i]polecenie do wykonania[/i]
[color=blue][b] - - - - -[/b][/color]
| | | | |
| | | | [color=red]+----- dni tygodnia (0-6) sunday = 0[/color]
| | | [color=orange]+------- miesiąc (1 - 12)[/color]
| | [color=purple]+--------- dni miesiąca (1 - 31)[/color]
| [color=brown]+----------- godzina (0 - 23)[/color]
[color=gray]+------------- minuta (0 - 59)[/color][/tt]

To wydaje się - według mnie -, że odpowiednim wpisem może okazać się, ale oczywiście mogę się mylić, coś w ten deseń ; [tt][color=green]0-6 1-12 1-31 0-23 0-59  root sh /etc/cron.daily/test[/color][/tt]. Co o tym sądzisz? A może wystarczy tylko zastosować taką metodę?; [tt][color=green]* * * * *  root sh /etc/cron.daily/test[/color][/tt]?

Niemniej, dalej pozostaje otwarta kwestia dot. problemów z wykonaniem skryptu, który powinien być uruchamiany np. co tydzień, czy jak w moim przypadku, każdego dnia z wykorzystaniem mechanizmu Cron. Czyżby jest to wynikiem problemu (bug) w Debianie? Może warto przyjrzeć się np. Bug Tracking System?

Pozdrawiam!

Ostatnio edytowany przez remi (2012-10-20 23:02:36)


[color=#5B5B5B][tt][b]Ł[/b][i]a[/i]m[/tt] [tt][b][i]Z[/b][/i]As[i]a[/i]d[b][/tt][tt]y[/tt][/b][b]![/b] w[i]Y[/i][b]j[/b][b]ą[/b]Tk[i][b]Ó[/b][/i][b]w[/b] [tt][i]j[/i][b]e[i]s[/i][/b]t[/tt] w[tt][b][/b]I[b][i]ę[/i][/b][/tt]c[b]e[i]j[/i][/b][/color].

Offline

 

#4  2012-10-20 23:53:04

  ba10 - Członek DUG

ba10
Członek DUG
Skąd: jesteś ?
Zarejestrowany: 2006-03-07
Serwis

Re: [Rozw.] Problem z wykonaniem skryptu z katalogu /etc/cron.daily

Jak dasz * na początku to będzie wykonywał skrypt co minute, ale możesz spróbować czegoś takiego :

Kod:

0 0 * * *

albo uruchamiaj skrypt przy starcie systemu.

Ostatnio edytowany przez ba10 (2012-10-21 00:02:58)


"Jeżeli chcesz się nauczyć Linuksa, to pierwsze co musisz zrobić to odrzucić wszelkie przyzwyczajenia wyniesione z poprzedniego systemu. Twoja wiedza jest o tyle zgubna, że daje Ci poczucie że coś jednak wiesz — jednak w kontekście Linuksa prawdopodobnie nie wiesz jeszcze nic." Minio
Mój [url=jarekw.eu]Blog[/url], a później [url=tanczymy.com]Tańczymy[/url] ;)

Offline

 

#5  2012-10-21 00:35:15

  ArnVaker - Kapelusznik

ArnVaker
Kapelusznik
Skąd: Midgard
Zarejestrowany: 2009-05-06

Re: [Rozw.] Problem z wykonaniem skryptu z katalogu /etc/cron.daily

[quote=remi]Niestety, po ponownym uruchomieniu się komputera w/w pliku nie było w katalogu domowym, czyli cron nie zadziałał.[/quote]
Z której strony niewykonanie skryptu z cron.daily w wyniku restartu systemu jest dowodem na niedziałanie Crona?

[quote=remi]Szukając rozwiązania tego problemu za pomocą internetu, wpadłem na taką możliwość, że pliki z końcówką .sh nie są wykonywane przez mechanizm cron. Padła nawet konkluzja iż jest to bug Debiana. Któż wie? Być może tak jest.[/quote]
To nie kwestia sh, tylko kropki. I to nie jest żaden bug.
[quote=man cron]As  described  above,  the files under these directories have to be pass some sanity checks including the following: be executable, be owned by root, not be writable by group or other and, if symlinks, point to files owned by root. Additionally, the file names must conform to the filename requirements of run-parts: they must be entirely made up of letters, digits and can only  contain  the  special  signs  underscores  ('_')  and hyphens  ('-').  Any  file  that does not conform to these requirements will not be executed by run-parts.  [b]For example, any file containing dots will be ignored.  This is done to prevent cron from running any of the files that are left by the Debian package management system[/b] when handling files in /etc/cron.d/ as configuration files (i.e. files ending in .dpkg-dist, .dpkg-orig, and .dpkg-new).[/quote]
BTW, wszystkie wymagania z cytowanego fragmentu spełniasz?

[quote=remi]Nie wiem, czy anacron może mieć jakikolwiek wpływ na ową zagwozdkę.[/quote]
[quote=man cron]Support  for  /etc/cron.hourly,  /etc/cron.daily,  /etc/cron.weekly  and  /etc/cron.monthly is provided in Debian through the default setting of the /etc/crontab file (see the system-wide example in crontab(5)).  The default sytem-wide crontab contains four tasks: run every hour, every day, every week and every month. Each of these tasks will execute run-parts providing each one of the directories as an argument. [b]These tasks  are disabled if anacron is installed (except for the hourly task) to prevent conflicts between both daemons.[/b][/quote]
[quote=aptitude show anacron]Anacron (like "anac(h)ronistic") is a periodic command scheduler.  It executes commands at intervals specified in days.  Unlike cron, it does not assume that the system is running continuously.  It can therefore be used to control the execution of daily, weekly, and monthly jobs (or anything with a period of n days), on systems that don't run 24 hours a day.  When installed and configured properly, Anacron will make sure that the commands are run at the specified intervals as closely as machine uptime permits.

[b]This package is pre-configured to execute the daily jobs of the Debian system.[/b]  You should install this program if your system isn't powered on 24 hours a day to make sure the maintenance jobs of other Debian packages are executed each day.[/quote]
Czyli powinno być OK, zatem wracamy do dwóch pytań powyżej.

[quote=remi]Bardziej interesuje mnie zapis dot. wykonywania skryptu każdego dnia, ale bez określenia stałej godziny, rozumiesz?[/quote]
Zadania z cron.daily normalnie też są wykonywane o stałej godzinie, sytuację zmienia dopiero Anacron.

[quote=remi]Niemniej, dalej pozostaje otwarta kwestia dot. problemów z wykonaniem skryptu, który powinien być uruchamiany np. co tydzień, czy jak w moim przypadku, każdego dnia z wykorzystaniem mechanizmu Cron. Czyżby jest to wynikiem problemu (bug) w Debianie? Może warto przyjrzeć się np. Bug Tracking System?[/quote]
Mało prawdopodobne aby w stabilnym wydaniu Debiana nie działał Cron. ;)


[img]http://svn.debianart.org/themes/generic/spinner/spinner48px-moreblue.png[/img]

Offline

 

#6  2012-10-21 10:06:34

  remi - amputować akrobatów

remi
amputować akrobatów
Zarejestrowany: 2011-05-27

Re: [Rozw.] Problem z wykonaniem skryptu z katalogu /etc/cron.daily

[quote=Arn]Z której strony niewykonanie skryptu z cron.daily w wyniku restartu systemu jest dowodem na niedziałanie Crona? (...) To nie kwestia sh, tylko kropki. I to nie jest żaden bug.[/quote]
Hej, po prostu podczas pierwszej próby sprawdzenia tego 'skryptu', wykorzystałem plik [color=green][tt]test.sh[/color][/tt]. Po ponownym uruchomieniu, skrypt nie zadziałał (nie utworzył pliku w katalogu domowym), czyli - według mnie - cron go nie odpalił. Dopiero szukając w sieci, znalazłem info, że pewien użytkownik po usunięciu z nazwy pliku [tt][b].sh[/b][/tt] opisał to jako rozwiązanie swojego problemu, podobnego bądź co bądź do mojego. W jego przypadku, skrypt z katalogu [tt]/etc/cron.daily/[/tt] również nie odpalał się każdego dnia, póki nie zmienił nazwy - usunął końcówkię [b][tt].sh[/tt][/b]. Niestety w moim przypadku to nie pomogło. Cieszę, że nie jest to żaden bug.

[quote=Arn]BTW, wszystkie wymagania z cytowanego fragmentu spełniasz?[/quote]
Tak [b]Arn[/b], myślę, że spełniam te wymagania; plik o nazwie [tt][color=green]test[/color][/tt], [i]be executable, be owned by root, not be writable by group or other[/i] etc. Ciekawe zdanie ze strony podręcznika [b]cron[/b]; (...) [i]These tasks [b]are disabled if anacron is installed [/b](except for the hourly task) to prevent conflicts between both daemons.[/i] Wynika z tego, że jeżeli [b]anacron[/b] jest zainstalowany (w tym przypadku jest), to zadania typu; [i]run every hour, every day, every week and every month[/i], nie będą wykonywane. No cóż, wydaje mi się, że mam zbyt mało czasu, aby to ogarnąć. Gdyby ten problem wyskoczył kilka dni wcześniej...

[tt][color=purple]Sprawdziła się rzecz o której nie chciałem pisać, ponieważ wydawała mi się dosyć głupia. Otóż, myślałem, że skoro Cron ma wykonać [i]zadanie[/i] każdego dnia, to oznacza, że zrobi to zaraz po włączeniu komputera, prawda? A jednak nie! Przed chwilą sprawdziłem katalog domowy użytkownika a tam... plik utworzony przez testowy skrypt. Wygląda na to, że cron wykonał zadanie jakiś czas po włączeniu systemu. Działa![/color] Kolejna kompromitacja z mojej strony.[/tt]

Dziękuję za odpowiedzi a szczególnie [b]Arnowi[/b] za przypomnienie o istnieniu stron podręcznika. ;-)

Ostatnio edytowany przez remi (2012-10-21 12:02:46)


[color=#5B5B5B][tt][b]Ł[/b][i]a[/i]m[/tt] [tt][b][i]Z[/b][/i]As[i]a[/i]d[b][/tt][tt]y[/tt][/b][b]![/b] w[i]Y[/i][b]j[/b][b]ą[/b]Tk[i][b]Ó[/b][/i][b]w[/b] [tt][i]j[/i][b]e[i]s[/i][/b]t[/tt] w[tt][b][/b]I[b][i]ę[/i][/b][/tt]c[b]e[i]j[/i][/b][/color].

Offline

 

#7  2012-10-21 10:12:35

  ArnVaker - Kapelusznik

ArnVaker
Kapelusznik
Skąd: Midgard
Zarejestrowany: 2009-05-06

Re: [Rozw.] Problem z wykonaniem skryptu z katalogu /etc/cron.daily

[quote=remi]Po ponownym uruchomieniu, skrypt nie zadziałał (nie utworzył pliku w katalogu domowym), czyli - według mnie - cron go nie odpalił.[/quote]
Ale dlaczego miałby go według Ciebie odpalić po restarcie?

[quote=remi]Ciekawe zdanie ze strony podręcznika cron[/quote]
Pisałem wyżej o tym… Gdy Anacron jest zainstalowany, to przejmuje harmonogram wykonywania zadań (poza [i]hourly[/i]).


[img]http://svn.debianart.org/themes/generic/spinner/spinner48px-moreblue.png[/img]

Offline

 

#8  2012-11-07 20:19:58

  remi - amputować akrobatów

remi
amputować akrobatów
Zarejestrowany: 2011-05-27

Re: [Rozw.] Problem z wykonaniem skryptu z katalogu /etc/cron.daily

Serwus [b]Arn[/b]. Dlaczego skrypt miał być uruchomiony po restarcie, tudzież uruchomieniu komputera? Wiesz, szczerze mówiąc, to nie mam pojęcia. Tak mi się po prostu wydawało i jak się okazało było to błędne założenie. Każdego dnia, wcale nie oznacza wykonania zadania od razu, np. po zalogowaniu się do systemu. Teraz to rozumiem i wiem, że wszystko jest okay.


[color=#5B5B5B][tt][b]Ł[/b][i]a[/i]m[/tt] [tt][b][i]Z[/b][/i]As[i]a[/i]d[b][/tt][tt]y[/tt][/b][b]![/b] w[i]Y[/i][b]j[/b][b]ą[/b]Tk[i][b]Ó[/b][/i][b]w[/b] [tt][i]j[/i][b]e[i]s[/i][/b]t[/tt] w[tt][b][/b]I[b][i]ę[/i][/b][/tt]c[b]e[i]j[/i][/b][/color].

Offline

 

#9  2012-11-07 20:23:17

  ArnVaker - Kapelusznik

ArnVaker
Kapelusznik
Skąd: Midgard
Zarejestrowany: 2009-05-06

Re: [Rozw.] Problem z wykonaniem skryptu z katalogu /etc/cron.daily

Heh, niezły poślizg w odpowiedzi. ;)


[img]http://svn.debianart.org/themes/generic/spinner/spinner48px-moreblue.png[/img]

Offline

 

#10  2012-11-08 22:18:30

  remi - amputować akrobatów

remi
amputować akrobatów
Zarejestrowany: 2011-05-27

Re: [Rozw.] Problem z wykonaniem skryptu z katalogu /etc/cron.daily

Hmm, no wiesz, jak to mówią; "[i]lepiej późno niż wcale"[/i], right? [tt];-)[/tt]


[color=#5B5B5B][tt][b]Ł[/b][i]a[/i]m[/tt] [tt][b][i]Z[/b][/i]As[i]a[/i]d[b][/tt][tt]y[/tt][/b][b]![/b] w[i]Y[/i][b]j[/b][b]ą[/b]Tk[i][b]Ó[/b][/i][b]w[/b] [tt][i]j[/i][b]e[i]s[/i][/b]t[/tt] w[tt][b][/b]I[b][i]ę[/i][/b][/tt]c[b]e[i]j[/i][/b][/color].

Offline

 

#11  2012-11-08 22:20:56

  ArnVaker - Kapelusznik

ArnVaker
Kapelusznik
Skąd: Midgard
Zarejestrowany: 2009-05-06

Re: [Rozw.] Problem z wykonaniem skryptu z katalogu /etc/cron.daily

Indeed. :)


[img]http://svn.debianart.org/themes/generic/spinner/spinner48px-moreblue.png[/img]

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
Nas ludzie lubią po prostu, a nie klikając w przyciski ;-)

[ Generated in 0.009 seconds, 11 queries executed ]

Informacje debugowania

Time (s) Query
0.00011 SET CHARSET latin2
0.00004 SET NAMES latin2
0.00097 SELECT u.*, g.*, o.logged FROM punbb_users AS u INNER JOIN punbb_groups AS g ON u.group_id=g.g_id LEFT JOIN punbb_online AS o ON o.ident='18.118.141.27' WHERE u.id=1
0.00066 REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '18.118.141.27', 1728336655)
0.00043 SELECT * FROM punbb_online WHERE logged<1728336355
0.00066 SELECT topic_id FROM punbb_posts WHERE id=213110
0.00008 SELECT id FROM punbb_posts WHERE topic_id=22166 ORDER BY posted
0.00055 SELECT t.subject, t.closed, t.num_replies, t.sticky, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies, 0 FROM punbb_topics AS t INNER JOIN punbb_forums AS f ON f.id=t.forum_id LEFT JOIN punbb_forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id=22166 AND t.moved_to IS NULL
0.00007 SELECT search_for, replace_with FROM punbb_censoring
0.00194 SELECT u.email, u.title, u.url, u.location, u.use_avatar, u.signature, u.email_setting, u.num_posts, u.registered, u.admin_note, p.id, p.poster AS username, p.poster_id, p.poster_ip, p.poster_email, p.message, p.hide_smilies, p.posted, p.edited, p.edited_by, g.g_id, g.g_user_title, o.user_id AS is_online FROM punbb_posts AS p INNER JOIN punbb_users AS u ON u.id=p.poster_id INNER JOIN punbb_groups AS g ON g.g_id=u.group_id LEFT JOIN punbb_online AS o ON (o.user_id=u.id AND o.user_id!=1 AND o.idle=0) WHERE p.topic_id=22166 ORDER BY p.id LIMIT 0,25
0.00081 UPDATE punbb_topics SET num_views=num_views+1 WHERE id=22166
Total query time: 0.00632 s