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!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Strony: 1
Witam,
Dziś na jednym z serwerów pojawił się dziwny problem, okazało się że cron przestał uruchamiać wszystko co w /etc/crontab
Skrypty oraz sam crontab nie był modyfikowany i wszystko działało przez kilka miesięcy.
Przeinstalowanie crontaba nic nie dało a te same skrypty uruchamiane z tablicy cron -e działają.
Plik /etc/crontab ma pełne prawa zapisu/odczytu
Przykładowy config:
# Dla /etc/crontab */1 * * * * root /home/test/test.sh #Nie działa #Dla cron -e */1 * * * * /home/test/test.sh #Działa
W logach nic konkretnego, widać brak jakichkolwiek czynności z /etc/crontab:
grep CRON /var/log/syslog Feb 3 15:45:30 Server /usr/sbin/cron[14517]: (CRON) INFO (pidfile fd = 3) Feb 3 15:45:30 Server /usr/sbin/cron[14518]: (CRON) STARTUP (fork ok) Feb 3 15:45:30 Server /usr/sbin/cron[14518]: (CRON) INFO (Skipping @reboot jobs -- not system startup)
Czy ktoś spotkał się z podobnym problemem ?
Ostatnio edytowany przez Kamlo (2016-02-03 16:18:40)
Offline
Zobacz jaka jest aktualnie załadowana lista zadań:
crontab -l
Offline
root@server:~#cron -l cron: can't lock /var/run/crond.pid, otherpid may be 14518: Resource temporarily unavailable root@server:~# rm -f /var/run/crond.pid root@server:~#/etc/init.d/cron restart [ ok ] Restarting periodic command scheduler: cron[....] Stopping periodic command scheduler: cron. [ ok ] Starting periodic command scheduler: cron. root@server:~# cron -l cron: can't lock /var/run/crond.pid, otherpid may be 2582: Resource temporarily unavailable root@server:~# ps -eaf | grep cron root 2130 1 0 18:22 ? 00:00:00 /usr/sbin/cron root 2582 1 0 18:25 ? 00:00:00 /usr/sbin/cron root 2924 1686 0 18:30 pts/1 00:00:00 grep cron
Ostatnio edytowany przez Kamlo (2016-02-03 18:31:57)
Offline
Racja :)
crontab -l
SHELL=/bin/sh PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin 0 22 * * 1-5 /home/srv/backup.sh
Jest to tablica ustawiona za pomocą crontab -u root -e po tej awarii działania z pliku /etc/crontab, obecnie całość działa OK i w sumie mógłbym tak zostawić ale niepokoi mnie dlaczego tak się stało że crontab przestał korzystać z /etc/crontab nawet w logach widać że nie próbuje uruchamiać skryptów z tego pliku.
A jeśli jest ustawiona tablica na usera (crontab -u root -e) to czy crontab dalej wykonuje polecenia z /etc/crontab czy już tylko z tablicy od usera ?
W sumie jak do jutra nikt nie odpowie to sobie to sprawdzę na jakimś debianie.
Pozdrawiam.
Offline
U mnie każdy user własną tablicę z taskami w /var/spool/cron/crontabs/. W /etc/crontab zaś jest tylko wywoływanie skryptów w katalogach /etc/cron.hourly/ , /etc/cron.daily/ , /etc/cron.weekly/ i /etc/cron.monthly/ i tyle. Wszystkie jedno linijkowe polecenia, które mają być uruchamiane jako root idą do tablicy roota, a pozostałe do tabów zwykłych userów.
Offline
[quote=morfik]W /etc/crontab zaś jest tylko wywoływanie skryptów w katalogach /etc/cron.hourly/ , /etc/cron.daily/ , /etc/cron.weekly/ i /etc/cron.monthly/ i tyle.[/quote]
Te skrypty między innymi właśnie przestał mi wykonywać, musiałem wszystkie przenieść do tablicy roota aby ruszyło.
Pozdrawiam.
Offline
W repozytorium masz kilka implementacji crona, spróbuj może np cronie (który u mnie działa, od kiedy vixie-cron pogryzł się z grsec/paxem - w Gentoo).
Jest też bcron, mcron, systemd-cron (jeśli używasz systemd), także jakiś wybór jest.
Ostatnio edytowany przez Jacekalex (2016-02-05 06:56:44)
Offline
@morfik /etc/fstab
# /etc/crontab: system-wide crontab # Unlike any other crontab you don't have to run the `crontab' # command to install the new version when you edit this file # and files in /etc/cron.d. These files also have username fields, # that none of the other crontabs do. SHELL=/bin/sh PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin # m h dom mon dow user command 17 * * * * root cd / && run-parts --report /etc/cron.hourly 25 6 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily ) 47 6 * * 7 root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly ) 52 6 1 * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly ) # */1 * * * * root /home/srv/test.sh */50 * * * * root dmraid -s > /home/srv/public_html/servermonitor/raidstatus.txt */50 * * * * root dmraid -r > /home/srv/public_html/servermonitor/diskstatus.txt
@Jacekalex
Przeniosłem wszystko do tablicy roota i działa więc problemu nie ma, jest tylko zagadka co się mogło stać :)
Pozdrawiam.
Ostatnio edytowany przez Kamlo (2016-02-05 13:10:42)
Offline
Może jakaś nowa FEATURA, ten system podnosi systemd? tam już mają systemd-crona, który pewnie ma nowy, rewolucyjny i jedynie słuszny sposób dodawania zadań do Crona.
Jeżeli nie wykonuje skryptów z /etc/cron.daily, to przy okazji udupili logrotate, [m|s]locate i parę innych rzeczy, które dodają skrypty do Crona z poziomu instalatora.
Na ile znam dewów systemd, to ciągle mają w głowie podobne numery.
Offline
Strony: 1
Time (s) | Query |
---|---|
0.00009 | SET CHARSET latin2 |
0.00005 | SET NAMES latin2 |
0.00107 | 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='3.145.8.139' WHERE u.id=1 |
0.00078 | UPDATE punbb_online SET logged=1732761613 WHERE ident='3.145.8.139' |
0.00041 | SELECT * FROM punbb_online WHERE logged<1732761313 |
0.00042 | SELECT topic_id FROM punbb_posts WHERE id=297033 |
0.00005 | SELECT id FROM punbb_posts WHERE topic_id=28235 ORDER BY posted |
0.00045 | 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=28235 AND t.moved_to IS NULL |
0.00007 | SELECT search_for, replace_with FROM punbb_censoring |
0.00098 | 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=28235 ORDER BY p.id LIMIT 0,25 |
0.00085 | UPDATE punbb_topics SET num_views=num_views+1 WHERE id=28235 |
Total query time: 0.00522 s |