Blog

Filtrowanie logów poczty

Filtrowanie logów poczty

Potrzebowałem na szybko wyciągnąć wszystkie adresy IP z pliku /var/log/mail.log, które wylądowały w specjalnym folderze z niechcianą pocztą. IP-ki będą wprowadzone na czarną listę adresów. Wchodzimy do określonego folderu z niechcianą pocztą i wykonujemy polecenie: grep -h -o -E '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}' * [...] Read more

Bash - wyodrębnianie danych IPTC XMP ze zdjęcia

Bash - wyodrębnianie danych IPTC XMP ze zdjęcia

Jeśli chcemy wydobyć jakąś pojedyńczą sekcję (fotografa, agencję lub opis) ze zdjęcia można użyć narzędzia exiv2. Wyodrębnienie całości metadanych ze zdjęcia do pliku: exiv2 -ea image.jpg Ta komenda utworzy plik o tej samej nazwie co zdjęcie z rozszerzeniem .exv Wstrzyknięcie tych samych danych z pliku .exv do zdjęcia: exiv2 [...] Read more

Bash - pojemność katalogu z filtrem na pliki

Bash - pojemność katalogu z filtrem na pliki

Zawartość skryptu. Skrypt posiada 2 zmienne. Zmienna $folder to obliczany folder. Zmienna $ext to rozszerzenie plików, które będą zliczane. Skrypt oblicza pojemność katalogu rekursywnie i ogranicza się tylko do plików jpg #!/bin/bash folder='/home/user/Obrazy' ext='.jpg' foldersize() { if [ -d $folder ]; then size=$(ls -alRF $folder/ | [...] Read more

Autoresponder dla kont pocztowych

W "najsurowszej" kombinacji usług pocztowych (postfix+dovecot+amavisd) dzięki którym możemy stworzyć własny system pocztowy nie ma funkcji autorespondera. Możemy szybko taką funkcję dodać do wspomnianej konfiguracji. W systemie Ubuntu instalujemy paczkę vacation. Pliki, które są istotne: ~/.vacation.db plik bazy tworzony podczas [...] Read more

Czytanie pliku w skrypcie linia po linii

Czytanie pliku w skrypcie linia po linii

Bardzo często trzeba w skryptach bash czytać pliki linia po linii i coś z tymi liniami robić. Bash posiada dwie pętle, które się do tego zadania nadają. for .. in .. ;do .. done i while .. ;do .. done Rozwiązanie dla pętli for nIFS=$IFS IFS=$(echo -ne "\n\b") for i in $(cat plik.txt);do echo $i done IFS=$nIFS Rozwiązanie dla pętli [...] Read more

Skrypt sprawdzający kiedy wygaśnie domena

Skrypt sprawdzający kiedy wygaśnie domena

Dla Debiana/Ubuntu/Minta sprawdzamy czy mamy zainstalowany whois wydając w shellu polecenie: [ -f '/usr/bin/whois' ] && echo Zainstalowany || apt-get -y install whois #!/bin/bash dzis=$(date +%Y%m%d) whois='/usr/bin/whois' declare -a domeny='satkas.waw.pl jakasinnadomena1.tld jakasinnadomena2.tld' function sprawdz { local red=`tput setaf [...] Read more

Przydatne polecenia w Zimbra

Przydatne polecenia w Zimbra

Jak chcemy cokolwiek zrobić w shellu w systemie Zimbra trzeba się przelogować na użytkownika zimbra su - zimbra Wyświetl wszystkich użytkowników domeny zmprov -l gaa domain.com Sprawdzenie jaki status ma użytkownik zmprov ga user@domain.com zimbraAccountStatus | grep zimbraAccountStatus | awk '{print $2}' Zablokowanie użytkownika zmprov [...] Read more

Masowa konwersja zdjęć do mniejszych rozmiarów

Masowa konwersja zdjęć do mniejszych rozmiarów

Czasami potrzebujemy szybko zmniejszyć zdjęcia do określonej wielkości. Problem w tym, że nie wiemy z jakim zdjęciem mamy do czynienia (portret, panorama). Skrypt który ogarnia dwie rzeczy. Sprawdza czy zdjęcie jest portretem lub panoramą i zmniejsza po wielkości. Oczywiście z zachowaniem proporcji Otwieramy konsolę i wybieramy katalog [...] Read more

Usunięcie pustych folderów w bash-u

Usunięcie pustych folderów w bash-u

Czasami potrzeba usunąć puste foldery w określonej ścieżce. W bashu robi się to banalnie prosto. find . -type d -empty -delete wcześniej można sprawdzić jakie katalogi ów polecenie może nam usunąć. Zatem komenda find . -type d -empty -print pokaże nam wszystkie puste katalogi w określonej ścieżce Kropka (.) w komendzie określa [...] Read more

Podtrzymywanie "demona" przy życiu

Podtrzymywanie "demona" przy życiu

Aktualizuję firmowego Ubuntu Server z usługą ftp-a od wersji 8.04 poprzez systemową komendę do-release-upgrade. Aktualnie mam wersję 14.04. Podczas ostatniej aktualizacji do 14.04 usługa ftp zarządzana przez proftpd wywala mi się w nocy. Nie chciało mi się szukać po forach dlaczego co i po co. Mały skrypt zapuszczony w sesji screen [...] Read more

Wyszukać i usunąć pliki w Linuksie

Wyszukać i usunąć pliki w Linuksie

Jak równocześnie wyszukać i przeprowadzić na tych plikach pewne działania, np. usunięcie plików? find sciezka_do_katalogu -type f -name "*.jpg" -newermt 2015-01-01 ! -newermt 2016-12-05 -exec rm -f {} \; Co robi to polecenie? Szuka pliki jpg w przedziale czasowym od 2015-01-01 do 2016-12-05 i usuwa je z systemu.

Genrowanie plików w systemie Windows i Linux

Czasami zachodzi potrzeba wygenerowania sobie plików na potrzeby różnych testów. W Windows robię w ten sposób. Otwieram "Wiersz poleceń" i wpisuję: for /L %%a in (1,1,100) do fsutil file createnew plik-%%a.txt 0 W Linuksie otwieram konsolę i wpisuję: for i in `seq 1 100`;do touch plik-$i.txt;done I pod Windowsem i pod Linuksem skrypcik [...] Read more

Masowa zmiana nazwy plików poprzez dopisanie frazy

Potrzebowałem zmienić nazwę plików jpg poprzez dodanie określonej frazy. Czyli mam plik1.jpg, plik2.jpg itd i musze dodać na początku frazę satkas (satkas-plik1.jpg, satkas-plik2.jpg) W windows można to zrobić w powłoce. Menu start wpisuje cmd i otwieramy "Wiersz polecenia" (taki czarny ekran ;)) W otwartym oknie wpisujemy: cd [...] Read more