Linux за българи: Форуми

Linux секция за начинаещи => Настройка на програми => Темата е започната от: Roky в Oct 20, 2008, 01:56



Титла: Проблем с crontab
Публикувано от: Roky в Oct 20, 2008, 01:56
Здравейте!Имам малък проблем с изпълняването на crontab.До скоро crontab си ми работеше безотказно и ми вършеше работата но от една седмица имам големи главоболия.Какви ли не промени пробвах, не ще и не ще.Та историята е таква имам си сървър на Counter-Strike и имам psychostats.Пояснявам за тези които не знаят какво е psychostats.Когато пуснеш определения Perl скрипт и ти създава страница със статистика за играчите,фрагове умирания и ала бала.Сложил съм в крон на всеки кръгъл час тая статистика да се ъпдейтва.До преди една седмица всичко си работеше добре,но вече не ще да се ъпдейтва.Ето ми го и кронтаба.
Примерен код

0 * * * * /var/www/htdocs/gungame/stats >/dev/null 2>&1
50 23 * * * /home/hlds/logcleaner >/dev/null 2>&1

Ами това е от мене.Вече казах, че преди го изпълняваше без проблем а сега не иска...благодаря на всички отзовали ми се на помощ предварително :)


Титла: Проблем с crontab
Публикувано от: VladSun в Oct 20, 2008, 02:43
Махни ">/dev/null" от редовете и виж какво ще излезе като грешки от изпълнението.





Титла: Проблем с crontab
Публикувано от: Roky в Oct 20, 2008, 03:50
Цитат (VladSun @ Окт. 20 2008,02:43)
Махни ">/dev/null" от редовете и виж какво ще излезе като грешки от изпълнението.

Ами преди малко го пробвах...Пробах и да добавя задача в крона да създаде папка, но не я създаде...Някакви идеи да не ми е "счупен" cron-а? :)


Титла: Проблем с crontab
Публикувано от: laskov в Oct 20, 2008, 09:27
Как редактираш таблицата? Ако я редактираш директно с текстов редактор, след това трябва да "кажеш" на crond, че е редактирана.


Титла: Проблем с crontab
Публикувано от: neter в Oct 20, 2008, 11:30
Да хвърлим все пак един поглед на изхода от командата
Примерен код
ps ax |grep cron

и на появилите се редове в логовете от изпълнението на cron след премахването на /dev/null указателите - логовете са /var/log/messages или /var/log/syslog по подразбиране, но може и да са ти други, така че провери къде имаш записи от изпълнението на cron ;)


Титла: Проблем с crontab
Публикувано от: laskov в Oct 20, 2008, 11:49
А също така е възможно след премахването на /dev/null да праща e-mail-и с резултата на root (на потребителя, собственик на таблицата).


Титла: Проблем с crontab
Публикувано от: Roky в Oct 20, 2008, 14:23
Цитат (neter @ Окт. 20 2008,11:30)
Да хвърлим все пак един поглед на изхода от командата
Примерен код
ps ax |grep cron

и на появилите се редове в логовете от изпълнението на cron след премахването на /dev/null указателите - логовете са /var/log/messages или /var/log/syslog по подразбиране, но може и да са ти други, така че провери къде имаш записи от изпълнението на cron ;)

Ето какво излезе от командата ps ax|grep cron
Примерен код

3114 ?       S      0:00 /usr/sbin/crond -110

А ето ги и логовете ми,между другото някакви атаки явно е имало срещу машината ми прав съм нали?
Messages
Syslog
Също така по-горе имаше мнение как ги редактриам...ами с mcedit ги редактирам и явно трябва да кажа на cron, че има промяна само не знам как :) Това го правя умишлено защото нищо не мога да направя когато напиша crontab -e .Не знам тоя текстов редактор кой от сичките е но като трия с бек спейс например буквите си остават явно го трие но те си остават и също така не знам как да го сейвам и да изляза...Пробвах ESC, ctrl+x просто не го разбират тоя редактор :)





Титла: Проблем с crontab
Публикувано от: laskov в Oct 20, 2008, 14:40
Добре. Редактирай го с каквото ти харесва, после стартираш crontab -e и въвеждаш ZZ
което е запис и изход. Това трябва да ти свърши работа. А относно атаките - лоша работа. Трябва да вземеш мерки.
А инъче, редакторът е vi - vi Editor Commands





Титла: Проблем с crontab
Публикувано от: Hapkoc в Oct 20, 2008, 14:41
EDITOR=mcedit crontab -e

това може би ще помогне...


Титла: Проблем с crontab
Публикувано от: Roky в Oct 20, 2008, 14:57
Цитат (Hapkoc @ Окт. 20 2008,14:41)
EDITOR=mcedit crontab -e

това може би ще помогне...

Ами чесно да си кажа не помогна...Отваря ми същият гаден едитор...


Титла: Проблем с crontab
Публикувано от: Hapkoc в Oct 20, 2008, 15:25
На един ред ли написа командата?

/квалификациите, от рода на 'гаден', ако обичаш да си ги спестиш :)/


Титла: Проблем с crontab
Публикувано от: Roky в Oct 20, 2008, 15:33
Цитат (Hapkoc @ Окт. 20 2008,15:25)
На един ред ли написа командата?

/квалификациите, от рода на 'гаден', ако обичаш да си ги спестиш :)/

Първо го написах на един ред, но си помислих, че явно трябва първо да напиша EDITOR=mcedit и после crontab -e, но и по двата начина нищо не стана...
/не му знам името затова написах гаден/





Титла: Проблем с crontab
Публикувано от: neter в Oct 20, 2008, 15:54
"crond -l10"? Това отдавна не ми беше попадало. Абе някой да знае съществена разлика между "crond" и "crond -l10", освен името на разработчика :) Както и да е, не в това е въпросът.
Roky, изпълни дадената ти от Hapkoc команда с пълен път до mcedit. Можеш да видиш какъв е пълният път на mcedit с
Примерен код
which mcedit

Между другото, след като не редактираш crontab-а с "crontab -e", а отваряш директно файла да го редактираш, сигурен ли си, че отваряш правилния файл? Виж дали това, което си въвел във въпросния файл, съвпада с изхода от командата
Примерен код
crontab -l

Да не се окаже, че въвеждаш редовете в anacron например, а не в crond, а както се вижда, anacron не е пуснат. Ако все пак въвеждаш редовете там, където трябва, провери въпросните файлове, които въвеждаш за изпълнение, дали са все още изпълними (явно преди са си били, щом са се изпълнявали, но дали все още са). Ти всъщност crontab-а на root или на някой друг потребител ни показваш? Изпълни онази команда "crontab -l" и за двата (трита, четирите...) потребителя и ни покажи изхода. Още, спомени дали си променял нещо във файловете, които трябва да се изпълнят, в последно време и дай някакво описание на съдържанието и езика (или направо ги покажи) на двата файла ;)


Титла: Проблем с crontab
Публикувано от: laskov в Oct 20, 2008, 16:03
Цитат (laskov @ Окт. 20 2008,14:40)
Добре. Редактирай го с каквото ти харесва, после стартираш crontab -e и въвеждаш ZZ
което е запис и изход. Това трябва да ти свърши работа. А относно атаките - лоша работа. Трябва да вземеш мерки.
А инъче, редакторът е vi - vi Editor Commands

...


Титла: Проблем с crontab
Публикувано от: Roky в Oct 20, 2008, 16:16
Цитат (neter @ Окт. 20 2008,15:54)
"crond -l10"? Това отдавна не ми беше попадало. Абе някой да знае съществена разлика между "crond" и "crond -l10", освен името на разработчика :) Както и да е, не в това е въпросът.
Roky, изпълни дадената ти от Hapkoc команда с пълен път до mcedit. Можеш да видиш какъв е пълният път на mcedit с
Примерен код
which mcedit

Между другото, след като не редактираш crontab-а с "crontab -e", а отваряш директно файла да го редактираш, сигурен ли си, че отваряш правилния файл? Виж дали това, което си въвел във въпросния файл, съвпада с изхода от командата
Примерен код
crontab -l

Да не се окаже, че въвеждаш редовете в anacron например, а не в crond, а както се вижда, anacron не е пуснат. Ако все пак въвеждаш редовете там, където трябва, провери въпросните файлове, които въвеждаш за изпълнение, дали са все още изпълними (явно преди са си били, щом са се изпълнявали, но дали все още са). Ти всъщност crontab-а на root или на някой друг потребител ни показваш? Изпълни онази команда "crontab -l" и за двата (трита, четирите...) потребителя и ни покажи изхода. Още, спомени дали си променял нещо във файловете, които трябва да се изпълнят, в последно време и дай някакво описание на съдържанието и езика (или направо ги покажи) на двата файла ;)

Пробвах и с пълния път но пак не става както и да е редактирам правилния файл защото при crontab -l ми излиза това което трябва вече проверих това.Сега ще видим какво ще стане пробвах това което ласков ми писа SHIFT+ZZ изкарва ми тези редове:
Примерен код

skipping 3 old session files
reading /var/spool/cron/crontab.9957
Partial last line

А относно атаките, чесно казано идея си нямам какво да предприема за тях...





Титла: Проблем с crontab
Публикувано от: neter в Oct 20, 2008, 17:42
Относно crontab, кажи и за останалите неща, за които те питах и бъди по-изчерпателен. Какво ще рече "нищо не става"? Все нещо се случва, кажи точно какво (грешка, минаване на курсора на нов ред, забиване, отваряне на vi въпреки указанията... нещото, което се случва).

Относно атаките, смени профилактично порта, на който слуша ssh (/etc/ssh/sshd_config > променяш числото за Port и махаш знака #, ако има такъв > рестарт на ssh), след което ограничи достъпа до този порт. Забелязах, че има две IP-та, които са успели да се автентикират (192.168.0.2 и 91.139.219.28), предполагам са твоите, така че позволи тях сред правилата в iptables (или тези IP-та, които са ти нужни). Ето ги и правилата в нужния ред
Примерен код
/sbin/iptables -A INPUT -p tcp --dport ПОРТ -s 192.168.0.2 -j ACCEPT
/sbin/iptables -A INPUT -p tcp --dport ПОРТ -s 91.139.219.28 -j ACCEPT
/sbin/iptables -A INPUT -p tcp --dport ПОРТ -j DROP

Където трябва да заместиш ПОРТ с порта, на който слуша твоят ssh. Сложи тези правила да се изпълняват със зареждането на системата, за да не ги въвеждаш всеки път след рестарт.


Титла: Проблем с crontab
Публикувано от: Roky в Oct 20, 2008, 18:49
Цитат (neter @ Окт. 20 2008,17:42)
Относно crontab, кажи и за останалите неща, за които те питах и бъди по-изчерпателен. Какво ще рече "нищо не става"? Все нещо се случва, кажи точно какво (грешка, минаване на курсора на нов ред, забиване, отваряне на vi въпреки указанията... нещото, което се случва).

Относно атаките, смени профилактично порта, на който слуша ssh (/etc/ssh/sshd_config > променяш числото за Port и махаш знака #, ако има такъв > рестарт на ssh), след което ограничи достъпа до този порт. Забелязах, че има две IP-та, които са успели да се автентикират (192.168.0.2 и 91.139.219.28), предполагам са твоите, така че позволи тях сред правилата в iptables (или тези IP-та, които са ти нужни). Ето ги и правилата в нужния ред
Примерен код
/sbin/iptables -A INPUT -p tcp --dport ПОРТ -s 192.168.0.2 -j ACCEPT
/sbin/iptables -A INPUT -p tcp --dport ПОРТ -s 91.139.219.28 -j ACCEPT
/sbin/iptables -A INPUT -p tcp --dport ПОРТ -j DROP

Където трябва да заместиш ПОРТ с порта, на който слуша твоят ssh. Сложи тези правила да се изпълняват със зареждането на системата, за да не ги въвеждаш всеки път след рестарт.

Така, относно кронтаба всичко е добре.Него го оправих с начина на ласков.А за атаките благодаря ти нетер това ще ми свърши работа.И без това само аз го ползам не съм дал акаунти на никой друг :) Благодаря ви много за всичко отново.