abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 14:44 | IT novinky

    Na Seznam nepovolených internetových her (Wikipedie) se k 13. 7. 2026 dostala predikční platforma Polymarket.

    Ladislav Hagara | Komentářů: 2
    dnes 14:22 | Zajímavý článek

    Nová čísla časopisů od nakladatelství Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 167 (pdf) a Hello World 30 (pdf).

    Ladislav Hagara | Komentářů: 0
    dnes 00:44 | Nová verze

    Byla vydána nová verze 3.22.0 grafického vývojového prostředí a platformy Gambas (Wikipedie) založené na interpretru programovacího jazyka Basic s rozšířením o objektově orientované programování. Přehled novinek v poznámkách k vydání. Zdrojové kódy jsou k dispozici na GitLabu.

    Ladislav Hagara | Komentářů: 0
    včera 20:22 | Komunita

    FreeBSD odstranilo poslední GPL kód ze základního systému. Konkrétně dpv, libdpv, libfigpar a dialog. Instalátor před čtyřmi lety přešel z dialogu na bsddialog.

    Ladislav Hagara | Komentářů: 2
    včera 15:22 | IT novinky

    Sociální síti 𝕏 (dříve Twitter) má dnes 20 let. Pro veřejnost byla zpřístupněna 15. července 2006.

    Ladislav Hagara | Komentářů: 2
    včera 14:22 | Zajímavý software

    Insula Faktury je open source generátor faktur, který běží přímo ve webovém prohlížeči. Žádná registrace, žádné sledování, žádné omezení. Zdrojové kódy jsou k dispozici na Codebergu.

    Ladislav Hagara | Komentářů: 17
    včera 13:22 | Komunita

    První Mobile Linux Hackday v Plzni, tj. komunitní setkání věnované Linuxu na mobilních zařízeních, proběhne 24. července od 10:00. Akce je otevřená všem zájemcům – od zvědavců po zkušené vývojáře. Dopoledne proběhnou přednášky Davida Heidelberga a Petra Hodiny o aktuálním stavu mobilního Linuxu: proč vůbec chtít tučňáka v kapse, jaké telefony jsou dnes dobře podporované a co taková podpora obnáší. Po obědě se zaměříme na konkrétní

    … více »
    Ladislav Hagara | Komentářů: 0
    14.7. 19:33 | Nová verze

    3D software Blender byl vydán ve verzi 5.2 s prodlouženou podporou. Videopředstavení na YouTube.

    Ladislav Hagara | Komentářů: 0
    14.7. 16:55 | Zajímavý software

    SketchForge 3D (GitHub, reddit) je open source 3D editor / CAD běžící ve webovém prohlížeči bez nutnosti účtu nebo cloudového úložiště. Inspirovaný byl Tinkercadem. Doporučena je lokální instalace.

    Ladislav Hagara | Komentářů: 0
    14.7. 12:44 | Nová verze

    Byla vydána nová verze 11.9 webového prohlížeče Midori (Wikipedie, GitHub). S novým centrem ovládání, pokročilejším blokováním reklam, optimalizací výkonu…

    Ladislav Hagara | Komentářů: 1
    Které desktopové prostředí na Linuxu používáte?
     (11%)
     (7%)
     (2%)
     (17%)
     (31%)
     (4%)
     (6%)
     (2%)
     (15%)
     (25%)
    Celkem 2136 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník


    Dotaz: Fetchmail spousteny z dovecot?

    13.2.2007 16:08 Freeman
    Fetchmail spousteny z dovecot?
    Přečteno: 242×
    Dobry den,

    potreboval bych poradit v nastaveni stahovani posty. Mam nekolik e-mail uctu, z nich si pomoci fetchmail stahuji pravidelne vse k sobe na server, kde bezi dovecot jako IMAP server. Postu pak ctu pouze pres IMAP z ruznych mist.

    Fetchmail v soucasne dobe bezi s cca 3 minutovym intervalem, to je ale na celodenni beh prilis casto, zato ale zas, kdyz se trebas nekde registruji a cekam na potvrzovaci e-mail, prilis malo casto.

    Napadlo me zvolnit interval na cca 1 hodinu ale probouzet fetchmail vzdy, kdyz se pripojim/prihlasim k IMAPu. Bohuzel nevim, jak to nejlepe zintegrovat s dovecotem. Nechci ho nejak patchovat, spis, zda neni nejaka moznost to dat do tcpd nebo do PAM (ktery asi bude overovat heslo). Nemam s tim zkusenosti, takze uvitam tipy, jak vec resit, trebas i uplne jinak.

    Diky.

    Odpovědi

    13.2.2007 19:00 Jan Martinek | skóre: 43 | blog: johny | Brno
    Rozbalit Rozbalit vše Re: Fetchmail spousteny z dovecot?
    Asi bych na to šel nějak takhle:
    #!/usr/bin/env python
    import time
    def is_conn_established(port):
        retvalue = False
        for line in file('/proc/net/tcp'):
            spl = line.split()
            if spl[3] != '01': continue #01 is ESTABLISHED
            local_port = int(spl[1].split(':')[1], 16)
            if local_port == port:
                retvalue = True
                break
        return retvalue
    
    def run_fetchmail():
        print 'running fetchmail'
    
    while True:
        if is_conn_established(993):
            run_fetchmail()
            delay = 3 * 60
        else:
            print 'nothing to do'
            delay = 1
        time.sleep(delay)
    
    Program každou sekundu sleduje, zda je navázáno tcp spojení na sledovaný port (v mém případě 993) a pokud ano, tak pustí fetchmail a interval sledování prodlouží na tři minuty. Jestliže spojení navázáno není, nic se nespouští a spojení se kontroluje opět jednou za sekundu.
    Ten fetchmail se prozatím ve skutečnosti nevolá, jen je pro něj nachystaná funkce.
    Josef Kufner avatar 13.2.2007 19:18 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Fetchmail spousteny z dovecot?
    Pokud pouštíš dovecat přes inetd, tak prostě jeho příkaz uprav z "dovecat" na "killall -HUP fetchmail & dovecat". Čímž souběžně s navázáním spojení na IMAP spustíš i stahování pošty. Nazkoušel jsem to, ale mělo by to bez problémů fungovat. Má to však pár neduhů na které jistě brzy přijdeš. Třeba právě to, že klient obvykle udržuje spojení na IMAP nepřetržitě (u POP3 by to nevadilo).

    Drobnou modifikací by se dalo udělat to, že pokud jsi připojen k IMAPu, tak by se zkrátil interval stahování fetchmailem. K tomu budeš potřebovat jednoduchý script, který upraví konfiguraci fetchmailu (postavený okolo sed -i) nebo upraví konfiguraci cronu -- záleží na stylu jakým fetchmail používáš. Pak by příkaz v inetd vypadal nějak takto: "uprav-interval 3 ; dovecat ; uprav-interval 30". Prostě to spustí script při začátku navazování spojení a po ukončení.

    V obou případech platí, že to co spouštíš navíc kromě dovecatu nesmí nijak sahat na standardní vstup a výstup. V druhé variantě se k době navazování spojení přičte doba prvního spuštění onoho scriptu. Ten script musí také zvládat více souběžných spojení (stačí aby nic nedělal, pokud už jiná instance scriptu upravila konfiguraci, tzn. držet si někde záznam o úpravě, třeba přímo v konfiguráku fetchmailu).

    Další možností je sledovat logy (pomocí tail -f), odposlouchávat provoz na síti (tcpflow, tcpdump) nebo třeba jen sledovat navázaná spojení (netstat) či se dívat, kdo má otevřený mailbox (lsof, incron). Myslím, že použití incronu by mohlo být zajímavé (pokud dokáže zachytit i pouhé otevření souboru pro čtení).
    Hello world ! Segmentation fault (core dumped)
    Josef Kufner avatar 13.2.2007 19:20 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Fetchmail spousteny z dovecot?
    Ještě nutno poznamenat, že periodicky kontrolovat, zda něco je či není, je poněkud neefektivní a ošklivé. To se týká právě sledování pomocí netstat, lsof nebo podobných nástrojů.
    Hello world ! Segmentation fault (core dumped)
    14.2.2007 11:36 Jan Martinek | skóre: 43 | blog: johny | Brno
    Rozbalit Rozbalit vše Re: Fetchmail spousteny z dovecot?
    Ještě nutno poznamenat, že periodicky kontrolovat, zda něco je či není, je poněkud neefektivní a ošklivé. To se týká právě sledování pomocí netstat, lsof nebo podobných nástrojů.
    Obecně s tím souhlasím, ale přesto to tak v tomto případě dělám. Aby byla nějaká názorná představa, tak jedno otestování trvá asi milisekundu, přičemž nespouštím žádný externí program (stačí poslat signál fetchmailu) ani nijak nehrabu na disk a nepotřebuji práva roota.
    Všechno má svá pro a proti. Tail -f koneckonců taky periodicky zjišťuje stav -- pokud je mi známo, tak zatím žádnou pokročilejší techniku nepoužívá. Další varianta testování mailboxu pomocí inotify taky nemá význam, protože dovecot je inteligentní a nečte z něj, dokud do něj někdo nezapíše, takže by se z toho stal bludný kruh. Ta varianta s tcpdumpem by dost zatížila systém a navíc to musí běžet jako root. Pak zbývají ty čachry vyžadující xinetd, cron, přepisování konfiguráku ...
    No zkrátka by to opravdu chtělo nějaký upozorňovací modul do PAMu. Umí to někdo?

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.