DAVICal - kalendarz sieciowy

System Centos 5.5

yum install postgresql postgresql-server php-pgsql perl-YAML postgresql-devel perl-DBD-Pg
yum install httpd php php-pgsql perl-YAML

http://ovh.dl.sourceforge.net/project/rscds/davical/0.9.9.2/davical-0.9.9.2-1.noarch.rpm
http://heanet.dl.sourceforge.net/project/rscds/awl/0.45/libawl-php-0.45-1.noarch.rpm

ze strony: http://sourceforge.net/projects/rscds/files

 wget http://packages.sw.be/perl-YAML/perl-YAML-0.71-1.el5.rf.noarch.rpm

ze strony: http://packages.sw.be/perl-YAML/

# rpm -ivh libawl-php-0.45-1.noarch.rpm
...
# rpm -ivh davical-0.9.9.2-1.noarch.rpm
... 


/etc/init.d/postgresql start

su - postgres
create user davical_app
createuser --no-createdb --no-createrole davical_app
Answer n to the question
Shall the new role be a superuser? (y/n) n
create user davical_dba
createuser --no-createdb --no-createrole davical_dba
Answer n to the question
Shall the new role be a superuser? (y/n) n



w /var/lib/pgsql/data/pg_hba.conf

dopisać:

local davical davical_app trust
local davical davical_dba trust

przed

# "local" is for Unix domain socket connections only
local all all ident sameuser
host all all 127.0.0.1/32 ident sameuser
host all all ::1/128 ident sameuser

cd /usr/share/davical/dba/
su postgres -c ./create-database.sh

zapisać hasło!!

 /etc/init.d/postgresql restart

http.conf  - DOPISAĆ


   
< Directory "/usr/share/davical/htdocs" >
    Order   deny,allow
    Allow   from all
    < /Directory >
Alias   /cal/   /usr/share/davical/htdocs/ 

Problem z domyślną drukarkę (FIREFOX, THUNDERBIRD)

Jeżeli w systemie operacyjnym ustawiona jest inna domyślna drukarka niż w programach mozilli należy wykonać.

THUNDERBIRD:

1. Narzędzia -> Opcje -> Zaawansowane.
2. Przycisk Edytor ustawień...
3. W lini poleceń wpisać
print.print_printer - dla starszych wersji
print_printer - dla nowszych wersji 
4. Nacisnąć na tej linii prawy przyciskiem myszki wybrać Resetuj.
5. Wykonać restart Thunderbird

FIREFOX :

1. W linii poleceń/adresu stron wpisać about:config.
2. Wpisać print.print_printer
3. Kliknąć prawym przycisk myszki na print.print_printer i wybrać Resetuj.
4. Wykonać restart Firefox

Po wykonaniu tych czynności w programie domyślna drukarką będzie drukarka systemowa

SQUID: TCP_DENIED/403

Podczas pracy z proxy możesz otrzymac komunikat TCP_DENIED/403 i nie wiadomo dlaczego. Najlepiej wtedy zdebugować reguły i powinno być wiadomo, która blokuje.
Do pliku squid.conf wpiszmy:

debug_options ALL,1 33,2

i popatrzmy w plik cache.log żeby zobaczyć który acl blokuje

Udziały administracyjne admin$, c$

Udziały administracyjne w Windows 7 są domyślnie wyłączone dla zdalnego dostępu, ze względów bezpieczeństwa. Zatem nie można z innych maszyn korzystać między innymi z udziałów jak \\hostname\admin$, \\hostname\c$ i tak dalej. Dla maszyn pracujących w domenie udziały te zostają włączone, dla maszyn w grupie roboczej też można je włączyć, tyle, że ręcznie.
Aby włączyć udziały administracyjne wymagane jest włączenie udostępniania plików i drukarek po czym należy do rejestru:
HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\System
dodać DWORD: LocalAccountTokenFilterPolicy i nadać mu wartość 1.
Po przeprowadzeniu rebootu można już korzystać z admin$ shares.

BSOD WinXP: ati3duag.dll

Gdy nie pomaga reinstalacja driverów. Podmienić plik w katalogu c:\windows\system32\ na

http://www.dlldump.com/download-dll-files_new.php/dllfiles/A/ati3duag.dll/6.14.10.0231/download.html

Tworzenie własnej usługi - Windows (na podstawie dowolnego pliku EXE)

Jak stworzyć własną usługę z pliku EXE -> Rozwiązanie -> http://support.microsoft.com/kb/251192/en-us

SC.exe

VPN (server+klient)

Dzisiaj nastała chwila kiedy potrzebowałem zestawić VPNa do firmowego serwera, by mój szef mógł sobie podejrzeć sobie jak wygląda sieć kiedy on siedzi na działeczce na swoim iPlusie.
Jako, że jeszcze jeszcze nie miałem okazji stawiać innego VPNa aniżeli Cisco'wego, to stwierdziłem, że przyszedł najwyższy czas.

A przy okazji uznałem, że przyda się jakieś polskie HOWTO odnośnie instalacji OpenVPN'a pod Centkiem toteż płodzę poniższy tekst :-)

No to od początku:

Instalacja i konfiguracja serwera na Centku

1. Ściągamy openvpn'a (musimy mieć dodane repozytorium RPMForge, bo inaczej nici)
# yum -y install openvpn

2. Po instalacji kopiujemy sobie podstawowe konfigi:
# cp -r /usr/share/doc/openvpn-2.0.9/easy-rsa/ /etc/openvpn/
# cp /usr/share/doc/openvpn-2.0.9/sample-config-files/server.conf
/etc/openvpn/


3. Konfigurujemy CA:
# cd /etc/openvpn/easy-rsa/
Następnie dzięki ulubionemu edytorowi tesktowemu edytujemy plik: vars
Zjeżdżamy na sam dół pliku a tam podmieniamy wg upodobania:
export KEY_COUNTRY=PL
export KEY_PROVINCE=LDZ
export KEY_CITY=LODZ
export KEY_ORG=”NazwaFirmy”
export KEY_EMAIL=”adres@e-mail.tld”

Następnie sprytnie z katalogu w którym się znajdujemy wywołujemy polecenia:
# . ./vars (zwrócić proszę uwagę na spację pomiędzy kropkami)
# . ./clean-all (to samo tutaj zwracamy uwagę na spację pomiędzy kropkami)

4. Budujemy CA:
# . ./build-ca (jak wyżej)
Naszym oczom ukazuje się generowanie pliku, chwilę potem następuje standardowy zestaw pytań na który wystarczy, że przeklikamy enterem.

5. Budujemy klucz serwera:
# . ./build-key-server naszserwerek
I znowu naszym oczom ukazuje się generowanie kolejnego pliku i znowu zestaw pytań do przeklikania enterem. Po drodze będzie pytanko o "challange password", warto wprowadzić jakieś dla zabezpieczenia naszego klucza serwera. Na koniec dostaniemy informację do kiedy ważny jest certyfikat oraz czy zgadzamy się na dodanie go do naszej bazy certyfikatów, oczywiście zgadzamy się na to.

6. Budowanie Diffie Hellmana:
Jest to dodatkowy klucz, który pozwoli uchronić nasz serwer przed pasywnym podsłuchem.
# . ./build-dh
(generowanie może chwilę potrwać, więc proszę się nie niecierpliwić)

7. Kopiujemy wygenerowane klucze i certyfikaty w odpowiednie miejsce:
#cp keys/ca.crt /etc/openvpn/
# cp keys/dh1024.pem /etc/openvpn/
# cp keys/naszserwerek.key /etc/openvpn/
# cp keys/naszserwerek.crt /etc/openvpn/


8. Konfigurujemy nasz serwer do korzystania z wygenerowanych kluczy:
# cd /etc/openvpn/
# vim server.conf (podmieniamy poniższe linijki)
dev tap
;dev tun
ca ca.crt
cert naszsserwerek.crt
key naszserwerek.key


9. Startujemy serwer i dodajemy go do autostartu:
# service openvpn start
# chkconfig openvpn on


Instalacja i konfiguracja klienta Windowsowego


1. Ściągamy klienta windzianego z http://openvpn.net/

2. Tworzymy CA na Windowsie:
Otwieramy grzecznie Uruchom, wklepujemy stare dobre cmd, a następnie przechodzimy do katalogu c:\Program Files\OpenVPN (chyba, że podaliśmy podczas instalacji inną ścieżkę)
> copy vars.bat.sample vars.bat
Edytujemy plik vars.bat i podmieniamy końcówkę wg tego co wpisaliśmy na serwerze (pamiętajmy, że wszystko musi się zgadzać z tym co wklepaliśmy na serwerze):
set KEY_COUNTRY=PL
set KEY_PROVINCE=LDZ
set KEY_CITY=LODZ
set KEY_ORG="NazwaFirmy"
set KEY_EMAIL="adres@e-mail.tld"


3. Odpalamy generowanie:
> vars.bat

4. Budujemy certyfikat i klucz klienta:
> copy openssl.cnf.sample openssl.cnf
> md keys
> build-key vpnklient

Może się okazać, że przy instalacji OpenVPNa nie wyeksportowała się ścieżka do pliku openssl.exe, więc będziemy ją musieli ręcznie zmienić w pliku build-key (zamiast openssl wklepujemy: ..\bin\openssl).

5. Kopiujemy pliczek vpnklient.csr na nasz serwer do katalogu: /etc/openvpn/easy-rsa/keys , a następnie na serwerze:
# cd /etc/openvpn/easy-rsa/
# . ./sign-req vpnklient

Znowu generujemy, trzeba potwierdzić będzie, że chcemy podpisać certyfikat i po sprawie.

6. Kopiujemy podpisane certyfikat i klucz na naszą maszynę windowsową:
W katalogu /etc/openvpn/easy-rsa/keys będą dwa nowe pliczki: ca.crt oraz vpnklient.crt .
Kopiujemy oba na naszego Windowsa do katalogu: C:\Program Files\OpenVPN\config .
Dodatkowo z katalogu C:\Program Files\OpenVPN\easy-rsa\keys kopiujemy do katalogu config plik vpnklient.key.

7. Konfigurujemy klienta OpenVPNa do łączenia:
Kopiujemy przykładowy plik konfiga (client.ovpn) z katalogu C:\Program Files\OpenVPN\config-sample do katalogu config.
Zmieniamy w tymże pliku kilka linijek wg poniższego wzoru:
dev tap
;dev tun
remote adres_ip_serwera_vpna 1194
ca ca.crt
cert vpnklient.crt
key vpnklient.key
ns-cert-type server


8. Łączymy się z VPNem:
Odpalamy z menu Start OpenVPN GUI, klikamy prawym na ikonce przy taskbarze i wybieramy z menu Connect.
Jeśli wszystko dobrze zrobiliśmy, powinniśmy bezproblemowo połączyć się z naszym VPNem i cieszyć połączeniem z naszą siecią wewnętrzną.

Źródło: http://greyer.jogger.pl/2009/08/04/howto-openvpn-i-centos-5/

Nie można zweryfikować wydawcy

Aby go wyłączyć, należy wykonać następujące czynności:
  • Windows XP Home Edition
Należy uruchomić Internet Explorer, wejść w menu Opcje internetowe, wybrać zakładkę Zabezpieczenia, następnie przycisk Poziom niestandardowy i w sekcji Różne zmienić ustawienie opcji Uruchamianie aplikacji i niebezpiecznych plików na Włącz (niezabezpieczone).
  • Windows XP Proffessional Edition
Należy uruchomić edytor Group Policy (gpedit.msc), przejść do sekcji Konfiguracja użytkownika, dalej Szablony administracyjne, Składniki systemu Windows, Menedzer załączników i ustawić wartość Lista dołączania dla typów plików niskiego ryzyka na włączone i dodać rozszerzenie exedo listy rozszerzeń.

Aby pozbyć się komunikatów przy uruchamianiu programu z wiersza poleceń należy dodać po nazwie pliku wykonywalnego parametr /c (działa pod Windows XP Proffessional)

lub

Wejdź w Opcje Internetowe zakładka Zabezpieczenia, kliknij w Lokalny
intranet, Witryny, i odhacz "Automatycznie wykryj sieć Intranet". Jeśli
to nie pomoże, to kliknij w Zaawansowane tamże i dopisz adres swojej
sieci lokalnej (np. 192.168.*.*) do listy sieci intranetowych,
odhaczając po drodze pole "Żądaj weryfikacji serwera (https:)...".

Konwersja pliku BAT na EXE

Bat To Exe Converter
http://download.cnet.com/Bat-To-Exe-Converter/3000-2069_4-10555897.html

Jeśli w okienku Options/Visibility ustawimy 'Invisible application" to okienko Ms-Dos nam się nie pojawi. W programie parę innych ciekawych opcji. Antywirus może alarmować podczas tworzenia pliku EXE (trzeba go wyłączyć)

Plik BAT - uruchomienie paru aplikacji na raz

Domyślnie działanie skryptu wykonuje polecenia po-kolei (to znaczy żeby uruchomić 2 program w BAT-ie to pierwszy musi się zakończyć.

program1.exe
program2.exe

a żeby uruchomić 2 programy jednocześnie to musimy użyć polecenia start

start program1.exe
start program2.exe

Excel - ciekawe formuły

Zamiana formatu daty dd-mm-rrrr na rrrr-mm-dd

=DATA(PRAWY(A1;4);FRAGMENT.TEKSTU(A1;4;2);LEWY(A1;2))

Pendrive - łączenia partycji (cd-rom)

Jest taka stronka naszych wschodnich sąsiadów: http://flashboot.ru/index.php?name=iflash&vord=0
można na niej znaleźć bazę różnych pendrive'ów oraz soft do modyfikacji pamięci flash (czasami oprogramowanie producenta)
aby odnaleźć odpowiednie oprogramowanie trzeba znać VID i PID (Vendor ID i Product ID) - można to sprawdzić za pomocą darmowego programiku USBDeview
później już tylko ściągnąć odpowiednia instalke do modyfikacji, i można sobie przerabiać pendrive'a do woli

Ciągłe sprawdzanie dysku podczas uruchamiania Windows VISTA

Gdy Windows Vista napotka błędy na dysku twardym, przy stracie systemu uruchamia program do jego sprawdzenia. Gdy aplikacja ta włącza się za każdym uruchomieniem systemu operacyjnego, można wywnioskować, że dysk twardy uległ uszkodzeniu. Jednak, gdy jesteśmy pewni, że tak nie jest, można wyłączyć każdorazowe skanowanie dysku w poszukiwaniu błędów.
W tym celu należy udać się do Edytora rejestru (Start -> Uruchom... -> regedit -> Enter), a w nim do klucza HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/Session Manager. Następnie w prawym oknie wchodzimy dwukrotnym kliknięciem do pozycji BootExecute i zmieniamy jej wartość na autocheck autochk *. Teraz wystarczy uruchomić ponownie komputer, aby zmiany zaczęły obowiązywać.

Ciągłe sprawdzanie dysku podczas uruchamiania Windows XP

fsutil dirty query C:

kliknąć "OK"

jak się skończy to zrobić to samo tylko wpisać

chkdsk C: /f

kliknąć "OK" na pytanie wpisać "T" (Tak)

Uruchomić ponownie komputer i niech system sprawdzi po raz ostatni błędy

Polecenia Linux

rpm -ql squid   - znajdź katalogi/pliki w tym wypadku squida (na całym dysku jakie należą do pakietu)

Ilość połączeń z danego IP:
netstat -a | grep 192.168.0.16


#!/bin/bash

echo "Statystyki polaczen z NAT:"

IP=$(arp -n | grep C | grep -v eth0 | awk '{ print $1 }')
SUM=0

for I in $IP
do
    COUNT=$(grep $I /proc/net/ip_conntrack | wc -l)

    if [ "$COUNT" -gt 0 ]
    then
echo -e "$I\tilosc polaczen: $COUNT"
SUM=$(($SUM+$COUNT))
    fi
done
echo "W sumie $SUM polaczen"
exit 0 

Ograniczanie ilości połączeń
iptables -A FORWARD -p tcp --syn -s $user_ip -m connlimit --connlimit-above $max_connections -j REJECT

Cicha instalacja poprawek i programów

Poprawka.exe /quite /norestart /n
dotnetfx.exe /q:a /C:"install /l /q"
Areader8.exe /aAll /rps /msi/qn

Adobe Reader: nazwa.exe /msi /norestart /quiet
Java: nazwa.exe /s ADDLOCAL=ALL IEXPLORER=1 MOZILLA=1
Kodeki KLM: nazwa.exe -MakeUnattended
Flash player: nazwa.exe /silent
Picasa: nazwa.exe /S /L
JAlbum: nazwa.exe /passive /norestart
audacity: nazwa.exe /silent /norestart /sp-
Mozilla: nazwa.exe -ms

Klawisz NumLock domyślnie włączony - WinXP

Jeżeli podczas uruchamiania systemu Windows XP, klawisz NumLock jest nieaktywny, a nasze hasło logowania zawiera cyfry, to musimy sami aktywować ten klawisz, co po pewnym czasie stanie się uciążliwe. Za pomocą edytora rejestru sprawimy, że klawisz NumLock będzie automatycznie włączony przed logowaniem do systemu.

1. Uruchamiamy regedit

2. Otwieramy klucz HKEY_USERS\.DEFAULT\ControlPanel\Keybord

3. Następnie klikamy dwukrotnie wartość ciągu o nazwie InitialKeyboardIndicators i w polu Dane wartości wpisujemy 2. (wartość 1 wyłącza)

4. Zamykamy Edytor rejestru. 

isapnp.sys - zatrzymanie na pliku podczas uruchamiania windowsa

1) expand X:\i386\isapnp.sy_ C:\system32\DRIVERS\isapnp.sys 


jeśli to nie pomaga, to oznacza że w systemie jest wirus

2) usunąć plik o wielkości 0kb znajdujący się w katalogu c:\windows\system32\drivers (nazwa pliku losowa)

Niektórym podobno pomaga wyłączenie usług w konsoli odzyskiwania: (nie testowane)
disable lirsgt
disable ejrscz 

http://www.team-tl.livenet.pl/wiki/Serwerysieciowe

http://www.team-tl.livenet.pl/wiki/Serwerysieciowe

Samba + LDAP

SAMBA - otwórzmy okno na dziki świat


SWAT - Samba Web Administration Tool

Do zarządzania Sambą można i należy wykorzystywać SWATa, przyjazne narzędzie z dokumentacją online.
SWAT dostępny jest przez przeglądarkę internetową i ruchamiany jest przez demona inetd. Domyślnie jest wyłączony, aby go włączyć należy wyedytować plik /etc/inetd.conf odkomentowując następujący wiersz:
swat     stream     tcp     nowait.400     root     /usr/sbin/swat swat


Przykładowy plik konfiguracyjny dla Samby jako serwera z domeną dla Windows

# parametry globalne
[global]
    workgroup = FIRMA
    netbios name = SERWER
    max log size = 50
    time server = Yes
    # skrypt automatycznie dodajacy komputer do uzytkownikow linuksa
    add machine script = /usr/sbin/useradd -c Komputer -d /dev/null -g 100 -s /bin/false %m$
    logon script = logon.bat
    logon home = \\%N\%U
    logon drive = Z:
    # wlaczamy logowania domenowe
    domain logons = Yes
    # wygrywamy wybory na glowna przegladarke
    os level = 255
    # jestesmy kontrolerem domeny
    preferred master = Yes
    domain master = Yes
    # i serwerem nazw
    wins support = Yes
    dns proxy = No 
    ldap ssl = no
    #administratorzy
    admin users = root,szef
    # hasla sa kodowane
    encrypt passwords = Yes

# Udzialy dyskowe
[homes]
    comment = Katalog prywatny
    read only = No
    browseable = No
[Finanse]
    comment = Finanse
    path = /export/finanse
    #podajemy nazwy uzytkownikow lub po znaku @grupy uzytkownikow   
    valid users = @finanse
    read only = No
    create mask = 0770
    directory mask = 0775
[Sklad]
    comment = Sklad na rozne rzeczy
    path = /export/sklad
    valid users = @users
    read only = No
    create mask = 0770
    directory mask = 0775


Mapowanie grup uniksowych na windowsiane

# Create UNIX groups
#groupadd tdguests
#groupadd tdusers
#groupadd tdadmins
#groupadd tdfirma
#groupadd tdcadcae

# Map Windows Domain Groups to UNIX groups
net groupmap add ntgroup="Domain Admins"  unixgroup=tdadmins rid=512 type=d
net groupmap add ntgroup="Domain Users"   unixgroup=tdusers  rid=513 type=d
net groupmap add ntgroup="Domain Guests"  unixgroup=tdguests rid=514 type=d

# Add Functional Domain Groups
net groupmap add ntgroup=tdfirma  unixgroup=tdfirma type=d
net groupmap add ntgroup=tdcadcae unixgroup=tdcadcae type=d

# List of groups
net groupmap list

Wówczas użytkownicy np. z grupy tdadmins, po zalogowaniu się do domeny będą administratorami

Smb4k

Dla lubiących okienka smb4k. W ustawieniach wpisać w Netbios 192.168.0.1 oraz adres broadcast 192.168.0.255. Dodajemy nazwę grupy roboczej i to wszystko.

MS Vista

Dla poprawnej pracy M$ Vista z Sambą należy ustawić politykę bezpieczeństwa sieci w MS Vista na Send LM & NTLMv2 ja to tu opisano:
http://www.builderau.com.au/blogs/codemonkeybusiness/viewblogpost.htm?p=339270746

LDAP

Można skojarzyć Sambę z LDAP, by korzystała z niego zamiast z pliku haseł.

Dokumentacja

http://linio.terramail.pl/abc_samby.pdf
http://www.samba.org
http://minibo.iele.polsl.gliwice.pl/~pz/zajecia/Linux/streszczenie/node61.html
http://banita.pl/konf/smbspis.html
http://pl.docs.pld-linux.org/uslugi_samba.html
http://blog.aboo.pl/2009/11/09/debian-lenny-ad-2008r2-czyli-samba-3-4-1/

LDAP - książka adresowa

Edycja wpisów
GUI LDAP (ADD) - http://luma.sourceforge.net/
WWW (ADD) - phpldapadmin
Tworzenie książki:
http://www.hakore.com/teksty/ldap.html

LINUX - motd

Gdy nie działa powitanie (dotyczy Gentoo i Fedory)
/etc/motd (wiadomość powitalna),
a potem wystarczyło, że do pliku ~/.bashrc dopisałem coś takiego (na samym końcu):
cat {plik z MOTD}

FIREWALL - najprostszy

Wyczyść obecnie zainstalowane reguły (iptables -F) , wpisz ręcznie komendy zachowując kolejność poleceń (zmieniając $IPTABLES na /sbin/iptables) i na koniec zachowaj
Kod
iptables-save > /etc/sysconfig/iptables
/etc/init.d/iptables restart
i powinno być OK.
Wcześniej zrób kopię bezpieczeństwa z istniejącej konfiguracji firewalla
Kod
cp /etc/sysconfig/iptables /etc/sysconfig/iptables_old


Synchronizacja czasu - NTPD

Konfigurację przeprowadzamy w pliku /etc/ntp.conf.
Na początek w pliku tym dodajemy linię (jeżeli nie ma):
driftfile /var/lib/ntp/drift - plik rozrzutu,
logfile /var/log/ntp.log - plik dziennika.

Serwery są wpisane:
server pool.ntp.org
server pool.ntp.org
server pool.ntp.org

Wyłączyć usługę NTPD
Synchronizacja poleceniem:
ntpdate 192.168.0.1


Jeśli otrzymaliśmy mniej więcej taki komunikat: adjust time server 213.238.47.29 offset -0.001552 sec, to gratulacje, udało nam się ustawić czas :) Możemy go teraz sprawdzić poleceniem date.

Jeśli z kolei otrzymaliśmy taki komunikat: no server suitable for synchronization found, to niestety mamy problem. Sprawdźmy czy podaliśmy prawidłowo nazwę serwera, czy mamy ustawione prawidłowo DNS-y i czy port UDP 123 (ntp) nie jest przypadkiem blokowany przez naszego firewalla.

Odblokowanie portu:
iptables -A OUTPUT -p udp --dport 123 -j ACCEPT
iptables -A INPUT -p udp -i eth0 --dport 123 -j ACCEPT

Jeśli czas często nam się rozregulowuje (jeśli istnieje takie słowo ;) warto to polecenie wrzucić do crona:
# crontab -e
i dodajemy taką linię:
00 0 * * *              ntpdate europe.pool.ntp.org
Czas będzie aktualizowany codziennie o północy.

Prosty backup danych - Linux

Link: http://www.tidnab.nowaruda.net/linux/41/prosty-backup-danych.html#more-41

Korzystając na co dzień z scentralizowanych zasobów danych szczególnie w erze tzw. “could computing”, zdajemy sobie sprawę z tego jak ważnym zagadnieniem jest backup danych. W prawdzie istnieje wiele programów zapewniających bezpieczny backup np. świetny Yosemite Technologies Backup and Recovery Software lub HP Backup and Recovery Manager, nie mniej jednak nie są to rozwiązania tanie szczególnie dla firm stawiających pierwsze kroki na rynku. Przedsiębiorstwa te potrzebują znacznie prostszych i tańszych rozwiązań, które można osiągnąć w bardzo prosty sposób, a wszystko dzięki dobrodziejstwu open source. Stawiając w firmie na otwarte technologie praktycznie od razu wyposażeni jesteśmy w proste mechanizmy zapewniające możliwość wykonywania kopii zapasowych. Poniżej bardzo prosty skrypt dla linuxa realizujący następujące zadania:

* wykonuje kopię wybranego katalogu wraz z całą zawartością
* ma możliwość wykluczenia (exclude) wybranych typów plików które nie muszą znajdować się w kopii np. pliki tymczasowe tmp itd.
* kompresuje dane za pomocą popularnego zip’a
* zakłada bardzo proste zabezpieczenie w postaci hasła na archiwum
* trzyma 3 ostatnie kopie wstecz

#!/bin/bash

in='/dane/program';
out='/mnt/sdb1/backup';

##########################
# Tworzenie archiwum ... #
##########################
echo ''
echo "Godzina "`date +%R`". Tworzenie archiwum ..."
echo ''

cd $out

#Rotacja kopii

if test -f dzien3.zip
then rm -f dzien3.zip
fi

if test -f dzien2.zip
then mv dzien2.zip dzien3.zip
fi

if test -f dzien1.zip
then mv dzien1.zip dzien2.zip
fi

#Kompresja danych
zip -9 -P JakiesHaslo -r $out/dzien1.zip $in -x@/$out/exclude.lst

W pliku exlclude.lst zamieszczamy listę plików które nie mają być kopiowane np:

*.cdx
*.sem
*.pak
*.pri
*.tmp

Dodatkowo skrypt możemy uzupełnić o kilka linijek realizujących kopiowanie danych na dowolnie udostępniony zasób w sieci.

#!/bin/bash

in='/dane/program';
out='/mnt/sdb1/backup';

##########################
# Tworzenie archiwum ... #
##########################
echo ''
echo "Godzina "`date +%R`". Tworzenie archiwum ..."
echo ''

cd $out

#Rotacja kopii
if test -f dzien3.zip
then rm -f dzien3.zip
fi

if test -f dzien2.zip
then mv dzien2.zip dzien3.zip
fi

if test -f dzien1.zip
then mv dzien1.zip dzien2.zip
fi

#Kompresja danych
zip -9 -P JakiesHaslo -r $out/dzien1.zip $in -x@/$out/exclude.lst

################################
# Kopiowanie danych na inny komputer #
################################

#montowanie zasobu
mount -t cifs -o username="Jan",password="HasloJana" //192.168.1.5/kopie /mnt/Jan

cd /mnt/Jan

#Rotacja kopii na zdalnym komputerze
if test -f dzien3.zip
then rm -f dzien3.zip
fi

if test -f dzien2.zip
then mv dzien2.zip dzien3.zip
fi

if test -f dzien1.zip
then mv dzien1.zip dzien2.zip
fi

#kopiowanie najnowszej kopii
cp $out/dzien1.zip /mnt/Jan

#odmontowywanie zasobu
cd /
umount /mnt/Jan

echo ''
echo "Godzina "`date +%R`". koniec tworzenia archiwum ..."
echo ''

Tym sposobem mamy 3 ostatnie kopie na severze, plus 3 ostatnie kopie na innym komputerze w sieci na wypadek awarii servera.

Ostatnią rzeczą jaką należy zrobić jest dodanie skryptu do crona celem automatycznego wykonywania o określonych dniach i godzinach. Można to zrobić na kilka różnych sposobów. Poniżej zmodyfikowany plik /etc/crontab z Fedory:

SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=Jan@costam.pl
HOME=/root

# run-parts
01 * * * * root run-parts /etc/cron.hourly
02 4 * * * root run-parts /etc/cron.daily
22 4 * * 0 root run-parts /etc/cron.weekly
42 4 1 * * root run-parts /etc/cron.monthly
35 1 * * * root /mnt/sdb1/backup/backup.sh

Ostatnia linijka odpowiada za wywołanie skryptu codziennie o 1:35 w nocy. Dodatkowo na naszego e-maila zostanie wysłany raport z przebiegu wykonywanych zadań. Bardzo ważne jest pozostawić wolną linijkę pod ostatnią instrukcją w pliku /etc/crontab, inaczej masze zadanie nie będzie działać.

Pewnie zadacie pytanie a, co w przypadku kopii na systemach Windows? Tutaj oprogramowanie Opne Source także przychodzi nam z pomocą. Najlepszym znanym mi i udostępnionym na licencji GNU programem do sporządzania kopii pod windowsa jest Cobian Backup. Cobian Backup to darmowy program do synchronizacji oraz archiwizacji danych na całym dysku twardym lub w konkretnych folderach. Program umożliwia tworzenie kopii danych na serwerach FTP, możliwe jest wysyłanie i odbieranie plików. Aplikacja wspiera kompresję danych oraz kodowanie (RSA-Rijndael).

Import wiadomości z Thunderbirda do Outooka 2007


Import wiadomości z Thunderbirda do Outlook 2007

Ostatnimi czasy zostałem zmuszony do używania w firmie Outlooka 2007 i stanąłem przed problemem importu poczty z mojego Thunderbirda. Po przewertowaniu paru stron okazało się, że czynność ta stanowi pewien problem, ale wszystko da się jakoś zrobić. Istnieje kilka sposobów oczywiście wybieramy ten najłatwiejszy. W kwestii informacyjnej, Thunderbird trzyma pocztę w formacie MBox – to jeden z bardziej uniwersalnych formatów jakie istnieją. Niestety M$ Outlook nie wiedzieć czemu nie obsługuje tego formatu. Tutaj można sobie pomóc narzędziem MBoxProxy – http://betoniarka5.webpark.pl/hcm/get.htm, które umożliwia dokonanie importu z mBox do dowolnego mailera obsługującego POP3. MBoxProxy to nic innego jak mały serwer POP3 nasłuchujący na 127.0.0.1 i używający jako repozytorium dowolnego pliku w formacie mBox. Więc po kolei:

1. Szukamy naszej poczty, standardowo: C:\Documents and Settings\[Your user name]\Application Data\Thunderbird\Profiles\[ID].default\Mail\Local Folders
2. Odpalamy MBoxProxy i wskazujemy polik z pocztą. Jeśli mamy podfoldery w skrzynce odbiorczej musimy wskazać po kolei każdy plik.
3. Klikamy włącz serwer
4. Uruchamiamy Outlooka, i konfigurujemy do pobierania poczty z Localhost (127.0.0.1) z poniższymi ustawieniami:
- user/pass: DOWOLNE (nie ma znaczenia; byle nie puste)
- Autoryzacja – brak (bez APOP, SPA, i innych wynalazków)
- Pobieranie bez limitu wielkości wiadomości (by pobrać wszystkie od razu).
5. Pobieramy pocztę

mboxproxy

Link: http://www.tidnab.nowaruda.net/thunderbird/126/import-wiadomosci-z-thunderbirda-do-outlook-2007.html#more-126

Log Rotate

Link: http://www.cyberciti.biz/faq/how-do-i-rotate-log-files/

Jak obracać pliki dziennika?


Q. How do I rotate log files under Linux operating system? Pyt.: Jak mogę obracać pliki dziennika w systemie operacyjnym Linux?

A. You need use tool called logrotate, which is designed to ease administration of systems that generate large numbers of log files. A. Należy użyć narzędzia o nazwie logrotate, który został zaprojektowany w celu ułatwienia zarządzania systemami, które generują duże ilości plików dziennika. It allows automatic rotation, compression, removal, and mailing of log files. Umożliwia automatyczne obracanie, ściskanie, usuwanie i wysyłanie plików dziennika.

Each log file may be handled daily, weekly, monthly, or when it grows too large. Każdy plik dziennika może być traktowane dzienne, tygodniowe, miesięczne, lub gdy stanie się zbyt duży. With this tool you keep logs longer with less disk space. Za pomocą tego narzędzia można przechowywać logi już mniej miejsca na dysku.
Default configuration file Domyślny plik konfiguracyjny

The default configuration file is /etc/logrotate.conf: Domyślny plik konfiguracyjny to / etc / logrotate.conf:
# see "man logrotate" for details
# rotate log files weekly
weekly
# keep 4 weeks worth of backlogs
rotate 4
# create new (empty) log files after rotating old ones
create
# uncomment this if you want your log files compressed
#compress
# RPM packages drop log rotation information into this directory
include /etc/logrotate.d
# no packages own wtmp -- we'll rotate them here
/var/log/wtmp {
monthly
create 0664 root utmp
rotate 1
} # see "man logrotate" for details
# rotate log files weekly
weekly
# keep 4 weeks worth of backlogs
rotate 4
# create new (empty) log files after rotating old ones
create
# uncomment this if you want your log files compressed
#compress
# RPM packages drop log rotation information into this directory
include /etc/logrotate.d
# no packages own wtmp -- we'll rotate them here
/var/log/wtmp {
monthly
create 0664 root utmp
rotate 1
} Service or server specific configurations stored in /etc/logrotate.d directory, for example here is sample apache logrotate configuration file: # cat /etc/logrotate.d/httpd Output: # see "man logrotate" for details
# rotate log files weekly
weekly
# keep 4 weeks worth of backlogs
rotate 4
# create new (empty) log files after rotating old ones
create
# uncomment this if you want your log files compressed
#compress
# RPM packages drop log rotation information into this directory
include /etc/logrotate.d
# no packages own wtmp -- we'll rotate them here
/var/log/wtmp {
monthly
create 0664 root utmp
rotate 1
} Usługi lub serwera specyficznych ustawień zapisanych w pliku / etc / logrotate.d katalogu, na przykład tutaj jest apache logrotate przykładowy plik konfiguracyjny: # cat /etc/logrotate.d/httpd Wyjście:

/var/log/httpd/*.log { / var / log / httpd / *. log (
weekly tygodniowo
rotate 52 obracać 52
compress kompres
missingok missingok
notifempty notifempty
sharedscripts sharedscripts
postrotate postrotate
/bin/kill -HUP `cat /var/run/httpd.pid 2>/dev/null` 2> /dev/null || true endscript / bin / kill-HUP `cat / var / run / httpd.pid 2> / dev / null` 2> / dev / null | | true endscript
} )

Where, Gdzie,

* weekly : Log files are rotated if the current weekday is less then the weekday of the last rotation or if more then a week has passed since the last rotation. pobrań: Pliki dziennika są obracane, jeśli dzień tygodnia jest mniejsza niż w dni powszednie od ostatniego obrotu lub jeżeli ponad tydzień minął od ostatnich rotacji.
* rotate 52 : Log files are rotated 52 times before being removed or mailed to the address specified in a mail directive. obracać 52: Pliki dziennika są obracane 52 razy, zanim zostanie usunięty lub pocztą na adres podany w dyrektywie mail. If count is 0, old versions are removed rather then rotated. Jeśli licznik jest 0, stare wersje są usuwane, a następnie obracać.
* compress : Old versions of log files are compressed with gzip to save disk space. kompresji: Stare wersje plików dziennika są skompresowane gzip-em w celu zaoszczędzenia miejsca na dysku.
* missingok : If the log file is missing, go on to the next one without issuing an error message. missingok: Jeżeli plik dziennika brakuje, przejdź do następnej bez wydawania komunikatu o błędzie.
* notifempty : Do not rotate the log if it is empty notifempty: nie obracać dziennika, jeśli jest ono puste
* sharedscripts : Normally, prerotate and postrotate scripts are run for each log which is rotated, meaning that a single script may be run multiple times for log file entries which match multiple files. sharedscripts: Zazwyczaj prerotate i postrotate skrypty są uruchamiane dla każdego dziennika, który obraca się, co oznacza, że pojedynczy skrypt można uruchomić kilka razy wpisy pliku dziennika, który odpowiada wielu plików. If sharedscript is specified, the scripts are only run once, no matter how many logs match the wildcarded pattern. Jeśli sharedscript jest określony, skrypty są uruchamiane tylko raz, bez względu na to, jak wiele dzienników meczu symbolu wieloznacznego wzorca. However, if none of the logs in the pattern require rotating, the scripts will not be run at all. Jednakże, jeżeli żaden z dzienników w strukturze wymagają obracania, skrypty nie będą uruchamiane na wszystkich.
* postrotate postrotate
/bin/kill -HUP `cat /var/run/httpd.pid 2>/dev/null` 2> /dev/null || true / bin / kill-HUP `cat / var / run / httpd.pid 2> / dev / null` 2> / dev / null | | true
endscript : The lines between postrotate and endscript (both of which must appear on lines by themselves) are executed after the log file is rotated. endscript: linie pomiędzy postrotate i endscript (obie te muszą znajdować się na linii przez siebie) są realizowane po pliku dziennika jest obracany. These directives may only appear inside a log file definition. Dyrektywy te mogą się pojawić wewnątrz definicji pliku dziennika.

See complete working example: How to rotating logs with logrotate for Lighttpd web server. Zobacz cały przykład pracy: Jak do rotacji logów z logrotate dla Lighttpd serwer WWW.

Automatyczna instalacja drukarki - Windows 2003 Standard

''----------------------------------------------''
''----------------------------------------------''
'' ''
'' Script to automate TCP/IP printer installs ''
'' (Andrew Levine - 12/2004) ''
'' ''
''----------------------------------------------''
''----------------------------------------------''
''----------------NA PODSTAWIE------------------''
''http://www.tek-tips.com/viewthread.cfm?qid=973606&page=3''



Set WSHNetwork = WScript.CreateObject("WScript.Network")
set shell = WScript.CreateObject( "WScript.Shell" )
CompName = shell.ExpandEnvironmentStrings("%COMPUTERNAME%")
Set objWMIService = GetObject("winmgmts:\\" & CompName & "\root\cimv2")
Set objNewPort = objWMIService.Get("Win32_TCPIPPrinterPort").SpawnInstance_
Set oShell = WScript.CreateObject("WScript.shell")
Set objPrinter = objWMIService.Get("Win32_Printer").SpawnInstance_

sub createPort (name, ip)
objNewPort.Name = name
objNewPort.Protocol = 1
objNewPort.HostAddress = ip
objNewPort.SNMPEnabled = False
objNewPort.Put_
end sub

sub addPrinter (driver, port, name)
objPrinter.DriverName = driver
objPrinter.PortName = port
objPrinter.DeviceID = name
objPrinter.Location = "CEH"
objPrinter.Network = True
objPrinter.Shared = false
objPrinter.ShareName = ""
objPrinter.Put_
end sub

message = "Please choose a printer to install:" & vbCrLf & vbCrLf & "1: All Printers" & vbCrLf & "2: HP4200 North" & vbCrLf & "3: HP8150 South" & vbCrLf & "4: HP8500 Color PS" & vbCrLf& vbCrLf & vbCrLf & "Please enter 1-5 (leave blank to quit):"
title = "Install Printers - BCEHFP"



'------------------'
'Add printer ports:'
'------------------'
'---HP 3005---'
createPort "IP_192.168.160.96", "192.168.160.96"

'---HP 2015---'
createPort "IP_192.168.160.73", "192.168.160.73"






'-------------------------------------------------' Display name
'Install printers with externally defined drivers:' for printer Driver location Port name Driver name in .inf file
'-------------------------------------------------' ----------- --------------------------------- ------------ -----------------------



'-------------------------------------------------'
'HP 3005'
'-------------------------------------------------'

Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objNetwork = CreateObject("WScript.Network")
Set objPrinters = objNetwork.EnumPrinterConnections
drukarka = "HP 3005"
Install_Printer = 1
For Loop_Counter = 0 To objPrinters.Count -1 Step 2
If objPrinters.Item(Loop_Counter+1)=drukarka then Install_Printer = 0
Next
If Install_Printer = 1 Then

oshell.run "RUNDLL32 PRINTUI.DLL,PrintUIEntry /if /b ""HP 3005 Inwestycje"" /f \\filesrv1\Serwis\Sterowniki\Drukarki\HPLJ3005\Win32_2000_XP_S2003\PCL5v6.1\hpc300xb.inf /r ""IP_192.168.160.96"" /m ""HP LaserJet P3005 PCL 5e""" ,,true

End If


'-------------------------------------------------'
'HP 2015'
'-------------------------------------------------'

Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objNetwork = CreateObject("WScript.Network")
Set objPrinters = objNetwork.EnumPrinterConnections
drukarka = "HP 2015"
Install_Printer = 1
For Loop_Counter = 0 To objPrinters.Count -1 Step 2
If objPrinters.Item(Loop_Counter+1)=drukarka then Install_Printer = 0
Next
If Install_Printer = 1 Then

oshell.run "RUNDLL32 PRINTUI.DLL,PrintUIEntry /if /b ""HP 2015 BHP"" /f \\filesrv1\Serwis\Sterowniki\Drukarki\HPLJ2015\PCL5\hppcp504.inf /r ""IP_192.168.160.73"" /m ""HP LaserJet P2015 Series PCL 5""" ,,true

End If




'----------------------------------------------'
'Install printers with drivers native to WinXP:'
'----------------------------------------------'
' TCP/IP Port Name Display Name
' -------------------- -----------------
'addPrinter "HP Color LaserJet 8500 PS", "HP8500_Exec_color", "HP8500 Color PS"
'addPrinter "HP LaserJet 4200 PS", "HP4200_BCEHFP_North", "HP4200 North PS"
'addPrinter "HP LaserJet 4200 PCL 6", "HP4200_BCEHFP_North", "HP4200 North"




msgbox ("Instalacja drukarek zakończona powodzeniem :)")

Zmienne IP -> logowanie SSH

http://dave.thehorners.com/content/view/86/65/

Pakowanie/Rozpakowywanie pod Linux

Rozpakowanie archiwów ".tar.gz":
tar zxvf package.tar.gz
Tworzenie archiwów ".tar.gz":
tar cvfz package.tar.gz folder
Rozpakowanie archiwów ".tar.bz"
tar xvjf package.tar.bz
Tworzenie archiwów ".tar.bz":
tar cvjf package.tar.bz folder
Rozpakowanie archiwów ".bz" 
bunzip2 file.bz
Rozpakowanie archiwów ".gz" 
gunzip file.gz

LinkWithin-4

Related Posts Plugin for WordPress, Blogger...