Extra funkce news-servru

Z HKfree wiki
Verze z 3. 8. 2015, 15:03, kterou vytvořil Pavkriz (diskuse | příspěvky)
(rozdíl) ← Starší verze | zobrazit aktuální verzi (rozdíl) | Novější verze → (rozdíl)
Skočit na navigaci Skočit na vyhledávání

Tyto poznámky slouží především správci news-servru jako "checklist" při ověření funkčnosti např. při upgradech softwaru servru.
Mohou však být užitečné každému, kdo chce získat představu co naše newsy umí.

Stabilně

  • automaticky moderovaná (moderator@gogo) skupina info.sdruzeni (pouze oficiální zprávy sdružení)
  • webforum-mirror diskuze z fóra xoopsů (hkfree.org)
  • přidání "encoding=iso-8859-2" u příspěvků v 8bit bez uvedeného kódování (produkuje MS Outlook Express)
  • expirace příspěvků
  • logování přístupů
  • wikidigest (wikibot@gogo) - zasílání seznamu novinek z Wiki za poslední dobu
  • moderování skupiny webforum-mirror (nelze do ní prispívat přes newsy)
  • webnews - webové rozhraní - spravuje koubas

Testuje se

  • obousmerny mirroring na zalozni server (na JaTy)

Synchronizace mirroru

Postup pro synchronizaci seznamu skupin (prispevky se pak synchronizuji automaticky) z Gogo na JaTy (spousti se na JaTym):

sudo su - news

# kontrola rozdilu (control.* a junk.* se nesychronizuje, to jsou "systemove" skupiny)
/usr/lib/news/bin/actsync -p 0 jaty.hkfree.org gogo.stezery.hkfree.org

# provest synchronizaci (online, neni treba restartovat server)
/usr/lib/news/bin/actsync -o x jaty.hkfree.org gogo.stezery.hkfree.org

TODO

(obojí se testovalo, probíhá "výběrové řízení" na software)

Backup/restore

Zalohovat:

/etc/news
/var/lib/news/active
/var/lib/news/newsgroups
/var/spool/news/articles

Obnova:

news-restore.pl:

#!/usr/bin/perl

sub makes() {
    system('cd /var/lib/news; sudo -u news /usr/lib/news/bin/makehistory');
    system('cd /var/lib/news; sudo -u news /usr/lib/news/bin/makedbz -s `wc -l < history` -o');
}


sub articles() {
    open(my $fh, '<:encoding(UTF-8)', '/var/lib/news/active');
    while (my $row = <$fh>) {
        chomp $row;
        $row =~ /^([a-z0-9\.]+)\s+[0-9]+/ || next;
        $group = $1;
        $dir = $group;
        $dir =~ s/\./\//g; # replace . with /
        print "Processing tdx $group\n";
        system("cd  /var/spool/news; sudo -h news /usr/lib/news/bin/tdx-util -R articles/$dir -n $group");
    }
}

makes();
articles();
makes();
perl news-restore.pl && /etc/init.d/inn2 restart

Poznámky