Титла: Задача 1 - 03.09 - 09.09 - torrent watch Публикувано от: BULFON в Sep 04, 2007, 01:49 Задачата е да се напише скрипт/програма (скриптове/програми), които вършат следното нещо:
В дадена директория (указва се в скрипта) могат да се запишат - по ftp, samba, http - торент (.torrent) файлове. Скрипта следи (на всеки 30 сек) за такива файлове, и ако намери, ги премества в друга директория (указва се в скрипта) и пуска ctorrent, за да свали съответния торент файл. Параметри на скрипта: start - започва да "наблюдава" директорията stop - спира "наблюдението" status - дава информация за броя изпълняващи се задачи (работещи ctorrent клиенти, пуснати от скрипта). kill - спира "наблюдението" и спира всички ctorrent задачи, пуснати от скрипта. Важно и съществено допълнение - наградата е бутилка хубаво, бяло вино. Титла: Задача 1 - 03.09 - 09.09 - torrent watch Публикувано от: the_real_maniac в Sep 04, 2007, 09:00 Не знам дали тук е мястото за обсъждане на самата тема или само за резултати, но един resume също е не възможен ми зад.
иначе преди изход трябва да ги върща от поддиректорията, където са преместени обратно в първоначалната , че да ги види следващият път като се пуска, а ctorrent ще види , че продължава задача и няма нужда от доп. игра Иначе resume функц/възможност ще следи поддиректорията, в която трябва да мести дали има нещо , което трябва да се изпълни/довърши :-) :-P просто идея Титла: Задача 1 - 03.09 - 09.09 - torrent watch Публикувано от: BULFON в Sep 04, 2007, 09:37 Отлична идея, но нека остане в екстрите.
Да кажем, че при изпълнени основни условия, ако и това е имплементирано ще има предимство при оценката Титла: Задача 1 - 03.09 - 09.09 - torrent watch Публикувано от: gat3way в Sep 04, 2007, 10:01 Ще пишете нов afd ?
Титла: Задача 1 - 03.09 - 09.09 - torrent watch Публикувано от: BULFON в Sep 04, 2007, 10:25 Може би трябва да има условие да не е повече от 150 реда код.
А на въпроса - трябват 2 скрипта, а не цяла система за дистрибуция на файлове. Титла: Задача 1 - 03.09 - 09.09 - torrent watch Публикувано от: gat3way в Sep 04, 2007, 10:44 А какво става ако скриптът намери в директорията един файл, който още не е качен целият по ftp например?
Какво ще се случи след като го премести? Просто ми стана интересно Титла: Задача 1 - 03.09 - 09.09 - torrent watch Публикувано от: senser в Sep 04, 2007, 12:09 не знам дали съм разбрал напълно идеята, но ми се струва че това, което искаш да постигнеш го има като функционалност в rtorrent
аз го ползвам на една машина без Х и съм много доволен разгледай в нета за възможните параметри за конфигуриране във файла ".rtorrent.rc" дали ще ти върши работа Титла: Задача 1 - 03.09 - 09.09 - torrent watch Публикувано от: BULFON в Sep 04, 2007, 13:20 .rtorrent.rc върши работа. В случая в задачата се говори за торенти, но може примерно да са .sql файлове, които да се вкарват в някоя база, да са статии, които по този начин да се зареждат в опашката на някой CMS, и т.н.
Благодаря за .rtorrent.rc Титла: Задача 1 - 03.09 - 09.09 - torrent watch Публикувано от: zeridon в Sep 04, 2007, 14:12 Submission
следват 2 скрипта и обяснения към тях. Самите скриптове не са нищо особенно като цяло са доста прости и имат супер проста защита от грешки но за сметка на това работят а да и се генерализирани за различна употреба watcher.sh
master.sh
Малко обяснения по скриптовете. Два файла са със различна задача. watcher.sh върши същинската работа, а master.sh го командва. Очаква се файловете да нямат интервали в имената си. Това може да бъде избягнато но ... мързела е голямо нещо. В променливата EXEC_PROG се описва програмата която трябва да се изпълни със всички необходими опции. Опциите могат да бъдат отделени в допълнителна променлива но май няма много смисъл. А и е тривиално за дописване. Смята се че програмката ни не минава във фонов режим сама за това я слагаме насилствено. В master.sh EXEC_PROG е само името на програмката ни без опции. Смятам че скриптовете са достатъчно прости за да бъдат разбрани от всеки, но ако има въпроси може да стреляте. Edit: малко козметика Титла: Задача 1 - 03.09 - 09.09 - torrent watch Публикувано от: VladSun в Sep 04, 2007, 15:31 Моето предложение
Малко тъпо става обаче, че 90% от кода на различните участници почти винаги ще е един и същ ... ... Писна ми да се опитвам да кача код ... все се реже нещо ... tdprocess.sh PS: Не ми се прави санитизация на входните данни Титла: Задача 1 - 03.09 - 09.09 - torrent watch Публикувано от: gat3way в Sep 04, 2007, 19:18 Същото нещо, само че на С.
usf.c Предимства: * няма нужда от 2 отделни скрипта/програми * "демонизира" се, ужким нямаме проблеми ако му се затвори controlling tty-то (логаутнем се да речем) * предполагам е бързо * kill няма да изпотрепе всички ctorrent процеси, само тези дето са извикани от програмата * Този случай който описах - представете си, че някой е ъплоуднал файл до средата и тая бракма вземе че я премести както е така наполовина - в моя случай няма как да стане, защото проверявам дали някой не го "държи" (това е и недостатък от друга страна) Недостатъци: * Написано е набързо, възможни са гранични положения такива, дори секюрити рискове при положение, че някой друг юзър-идиот си поиграе и реши да пише лоши неща в разни файлове, докато това нещо работи * Отново същият проблем - домързя ме да правя повече проверки, например кво става ако нямаме ctorrent или пък нямаме такива две директории * Не е portable щото не е казано, че всички машини трябва да имат С компилатор, lsof и awk. * Като цяло е мърляво написано, ма за толкоз време - това е. Титла: Задача 1 - 03.09 - 09.09 - torrent watch Публикувано от: gat3way в Sep 04, 2007, 19:38 Уф, шибана работа, не съм дочел условието и си мислех, че трябва всякакви файлове да се местят, а за торънт файловете специално да се вика ctorrent
Ееее, нищо, значи местим файлове всекви Титла: Задача 1 - 03.09 - 09.09 - torrent watch Публикувано от: the_real_maniac в Sep 04, 2007, 20:17 Хахахах и аз мислех да го пиша на С , обаче се спрях щото и аз щяхд а го напиша на бързо, н о като гледам ти не набързо, ами хх, сори , но честно ми е непрегледно ,аз по навик удрям доста ентъри като пиша код и дори и да има разместваня покрай ентърите успявам да правя разлика къде какво свърша ;-)
И все пак е хубаво и такива варианти да се видят :-P единственият минус мен , ако ме питаш е , че трябва компилатор и комилиране, докато script-овете на момента едит и щрак :-p Айде , успех на участниците :-D Титла: Задача 1 - 03.09 - 09.09 - torrent watch Публикувано от: edmon в Sep 05, 2007, 18:13 за какво пишете нов "демон" като един цял демон вече върви и се казва cron.
от там нататак. mv torent {file}.torrent или не съм рабрал целта? аа да има старт и стоп. ми кофти ми се вижда задачата като задача. дайте по издържани задачи. в смисъл да не се откриват недомислици. или викате за какво да пък да не преоткрием топлата вода! Титла: Задача 1 - 03.09 - 09.09 - torrent watch Публикувано от: zeridon в Sep 09, 2007, 15:33 В спора се ражда истината ...
А и като цяло всички май се залепваме към думичката торент. А самото условие е да има възможност да се поразвие и за друг тип файлове операции. Има го и момента с мойто гардже най-хубаво ма честно харесвам си боклука дет съм драснал Титла: Задача 1 - 03.09 - 09.09 - torrent watch Публикувано от: Uvigii в Sep 09, 2007, 19:39
Добави условие за макс. бр. паралелно изпълнявани процеси, преди местенето от срд_дир и стартирането на нов процес. Мисля, че ще е полезно. Титла: Задача 1 - 03.09 - 09.09 - torrent watch Публикувано от: BULFON в Sep 10, 2007, 23:21 Здравейте,
днес е 10.09 и имаме победител в конкурса - това е Зеридон. Решението му е най-близо до началните правила на конкурса. Понеже се познаваме с другите решили задачата, и искаме да не гледат как Зеридон си пие сам от виното, ги каним на по една, две бири следващата седмица. Равносметка: 3 решения на задачата. Всяко има трески за дялане, но решава задачата. Първи и най-бърз беше Зеридон. Втори и с доста интересни идеи решение - Владсън. Трети по време беше Гейтуей (надявам се никой да не се засегне за кирилизацията на името му), но пък решението му беше интересно и на C. Зеридон печели, защото беше първи и даде решение в духа на конкурса. Другите печелят, защото усетиха идеята и участваха. Тримата победители да се обадят, да си уговорим среща за предаване на наградите. Наградата за следващата седмица е Linksys WiFi PCI карта. Но задачата все още не е поставена . Титла: Задача 1 - 03.09 - 09.09 - torrent watch Публикувано от: VladSun в Sep 11, 2007, 01:25 Честито на zeridon и на останалите печеливши
Среща - "Кривото", сряда, 19:30 ? Титла: Задача 1 - 03.09 - 09.09 - torrent watch Публикувано от: ognyan в Sep 11, 2007, 13:30 Само да направя едно допълнение към скрипта на zeridon - ако добавиш едно
IFS=' ' в началото би трябвало да нямаш проблеми с интервалите. кратко и лесно е за имплементация Титла: Задача 1 - 03.09 - 09.09 - torrent watch Публикувано от: gat3way в Sep 11, 2007, 14:20 Съжалявам, пичове, няма как да се явя
В момента съм в Париж, пия някаква зловеща бира (8.4% алкохол!!!, от прозореца се вижда върха на Айфеловата кула, въобще голям ташак Всъщност, тъпата кула ми е на 10 минути пеша Много готино място е Париж, не бях идвал от 9 години, сега пак си ме кефи както преди, много по-готино е от Рим определено Вчера ходих до Дефанс и до Пигал, същото си е като преди (на Дефанс само дето са построили 1-2 нови небостъргачи). Най-забавното е че си имам ADSL модем, cisco 575LRE, оставили са му enable парола "cisco", бухахха Въобще, от всички почивки тая година, тая в Париж най-много ме радва засега, много се радвам А също гледам, че моите машинки вкъщи са онлайн, не е спирал тока, много забавно Имаше май потребители на линукс-бг в Париж, дайте да се видим, бе пичове, тука по цял ден скучая до 18, докато приятелката ми свърши с обученията Май няма да мога да участвам и във вторият кръг Кисна на един ноутбук с winxp, немам никви компилатори, мисля след малко да излезна да се разходя, ама е много студено Тука реновират няква спирка на метрото, надуха ми главата...а изпих втора такава бира по никое време и главата ми здраво се завъртя ) Ама да знаете че като се прибера в София след седмица, ще се присетя за виното Титла: Задача 1 - 03.09 - 09.09 - torrent watch Публикувано от: BULFON в Sep 11, 2007, 14:44 Тогава задружно ще се съберем следващата седмица. Тъкмо да му е минал махмурлука на Гейтуей. А между другото той може в ЛС да ми прати контакт някакъв (ICQ/GOOG/mail).
Титла: Задача 1 - 03.09 - 09.09 - torrent watch Публикувано от: kingfisher в Sep 11, 2007, 15:03 При мен има излизат грешки и в двата скрипта в с bash-3.0 версия съм.
В watcher.sh излиза: watcher.sh: line 21: [: !-d: unary operator expected watcher.sh: line 25: [: !-d: unary operator expected Повече за проблема : http://www.linuxcommand.org/wss0100.php При master.sh stop kill: usage: kill [-s sigspec | -n signum | -sigspec] [pid | job]... or kill -l [sigspec] Хаиде с kill-a е ясно ама като ще се пие бира поне да е заслужено P.S: Така че за мен на vladsun варианта по ми допада, ако това има някакво значение Титла: Задача 1 - 03.09 - 09.09 - torrent watch Публикувано от: gat3way в Sep 11, 2007, 15:10 Пратил съм
Едит: 3-та такава бира. Мамка му, не е човешко това. А мислих да се разходя малко Monoprix са виновни, гадовете шибани! Не ги е срам да си правят магазин точно до хотела!!! И после, тия хора не били алкохолици Мче тя загорката и каменицата имат 2 пъти по-малко спирт вътре в сравнение с тия брутализми Титла: Re: Задача 1 - 03.09 - 09.09 - torrent watch Публикувано от: Acho в Jan 30, 2023, 10:13 Кви са тия спамове по дъртите теми ?
|