Usuwanie plików w systemie Windows z poziomu shella
Jak administrujemy systemami Windows z pewnością zachodzi potrzeba zwalniania miejsca poprzez usuwanie danych.
Oczywiście mowa tutaj o shellu aby nie robić takich prac z "ręki".
Windows wyposażony jest w narzędzie forfiles.
Mój przykład użycia
forfiles /P F:\ /M *.bak /D -15 /C "cmd /c del @file"
Wyjaśnienie przełączników:
/P wskazanie scieżki gdzie mamy szukać plików. U mnie w przykładzie jest F:\
/M maska jakie pliki mamy szukać. U mnie w przykładzie są pliki *.bak
/D opcja wskazuje do jakiej daty program ma zostawiać pliki. Ja ustawiłem 15 dni. Pliki starsze niż 15 dni program ma usunąć.
/C wywołuje polecenie. Ja wybrałem aby powloka usuwała pasujące pliki.
Mały skrypt: sprawdz.bat
@echo off :main CLS IF EXIST F:\ (GOTO yes) ELSE (GOTO no) :yes CLS forfiles /P F:\ /M *.bak /D -15 /C "cmd /c del @file" exit :no CLS exit
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 ma user@domain.com zimbraAccountStatus lock
Odblokowanie użytkownika
zmprov ma user@domain.com zimbraAccountStatus active
Pokaż aktywność w ciągu doby dla danego konta (wysyłka)
./libexec/zmmsgtrace -s user@domain.com
Skrypt, który pokaze listę statusu kont dla wszystkich domen
#!/bin/bash domeny=$(/opt/zimbra/bin/zmprov gad) for domena in $domeny do konta=$(/opt/zimbra/bin/zmprov -l gaa $domena) for konto in $konta do wynik=$(/opt/zimbra/bin/zmprov ga $konto zimbraAccountStatus | grep zimbraAccountStatus | awk '{print $2}') echo "$konto $wynik" done done
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 w którym znajdują się zdjęcia. Po czym wykonujemy tzw jednolinijkowca
for i in `ls *.jpg`;do z=$(convert $i -format "%[fx:w/h>1)?1:0]" info:) if [ $z -eq 1 ];then convert $i -resize 2000x tmp1/$i else convert $i -resize x2000 tmp1/$i fi done
Ja potrzebowałem przyciąć dłuższy bok do 2000px
Generowanie hasła sha1
W konsoli linuksa wpisujemy
echo -n "satkas" | sha1sum | awk '{print $1}'
Wynik
5e6030bc66eab28e4b5eb6c9278cf41462c88cee
Zestawienie VPN klient-serwer na stałe (pptp)
Mamy taki sobie schemat
W biurze mamy skonfigurowany vpn (pptp) jako server. Utworzyliśmy użytkownika.
Po stronie klienta (home) na Mikrotiku klikamy w terminalu
interface pptp-client add connect-to=IP-Server user=login password=password disabled=no name=pptp-out1 profile=default-encryption
user i password wstaw takie dane jak wpisałeś przy zakładaniu użytkowników na serwerze PPTP.
Aby sprawdzić, że urządzenia nawiązały połączenie wykonujemy po stronie klienta
interface pptp-client monitor pptp-out1 without-paging
Powinno nam się wyświetlić coś w tym stylu
status: connected uptime: 48m6s encoding: MPPE128 stateless mtu: 1450 mru: 1450 local-address: TWÓJ-IP-PRZYZNANY-PRZEZ-SERVER remote-address: ADRES-IP-SERVERA PPTP(PUNKT-PUNKT PPTP)
Ważna informacja to pierwsza linia status. Powinno być connected
Teraz aby można było się komunikować potrzebujemy ustawić trasę statyczną do wewnętrznej zdalnej sieci i przez jaki interfejs ma wychodzić. Na Mikrotiku kliencie wpisujemy w terminalu
ip route add dst-address=FIRMOWA-SIEC-LAN/MASKA gateway=pptp-out1
Ponadto potrzeba jeszcze zrobić maskaradę na interfejsie pptp-out1 dla naszej lokalnej sieci w domu
Czyli robimy na Mikrotiku kliencie
ip firewall nat add chain=srcnat action=masquerade src-address=LAN-HOME out-interface=pptp-out1
To powinno dać nam połączenie pomiędzy siecią w domu i firmą.
Dla mnie najlepsze jest w tym to, że nie muszę konfigurować po stronie stacji roboczej żadnego vpn-a. Jak chcę się połączyć do firmy to używam narzędzi takich samych jak wewnątrz firmy.
Ile waży baza MySQL?
Wchodzimy do shella (konsola, terminal itp) i dostajemy się do naszego silnika mysql
mysql -u root -p
Zgłasza nam się znak zachęty
mysql>
Wpisujemy komendę
SELECT table_schema "DB", Round(Sum(data_length + index_length) / 1024 / 1024, 1) "DB Size in MB" FROM information_schema.tables GROUP BY table_schema;
Ważne kody w telefonie
*#21#
Tym kodem możecie sprawdzić czy Wasze wiadomości, połączenia i inne poufne dane są przekazywane. Jeśli tak jest, to numer, na który przekazywane są dane zostanie wyświetlony po wpisaniu tego kodu.
*#62#
Wybierając ten kod dowiesz się gdzie przekazywane są połączenia w przypadku, gdy macie wyłączony telefon lub jesteście poza zasięgiem sieci. Standardowe ustawienie operatora to przekierowanie na numer poczty głosowej.
##002#
To jest uniwersalny kod do wyłączania przekazywania połączeń z twojego telefonu, np. na pocztę głosową. Dobrym pomysłem wydaje się użycie tej funkcji, gdy planujemy wyjazd za granicę. Dzięki temu żadne dodatkowe opłaty roamingowe nie zostaną naliczone za przekazywanie połączeń.
*#06#
Za pomocą tego kodu będziesz w stanie sprawdzić numer IMEI. Numer ten jest używany przez sieć GSM do identyfikowania konkretnego urządzenia. IMEI podaje szczegółowe dane dotyczące modelu i parametrów technicznych urządzenia.
Źródło: http://www.fronda.pl/a/twoj-telefon-jest-na-podsluchu-oto-jak-to-sprawdzic,86863.html
PHP w katalogu domowym użytkownika
Domyślnym katalogiem składowania plików html i php jest (we współczesnych dystrybucjach) /var/www/html.
W ramach testowania wolę korzystać z katalogu public_html w lokalizacji
/home/*/public_html
Serwer www Apache posiada moduł, który nam to umożliwi.
Pomijam instalację serwera www Apache jak i modułu php dla tego serwera.
Włączamy moduł userdir
a2enmod userdir
restartujemy serwer Apache
service apache2 restart
W ubuntu 16.04 edytujemy plik
/etc/apache2/mods-enabled/php7.0.conf
i komentujemy linię
#php_admin_flag engine Off
Restartujemy usługę
service apache2 restart
i możemy cieszyć się php-em we własnym katalogu
Dostęp przez przeglądarkę możliwy jest poprzez wpis w url
http://localhost/~TwojLogin/
Aktualizacja samby jako domain controller
Używana wersja to 4.5.3 i była instalowana ze źródel.
Pobieramy wersję 4.5.4
wget https://download.samba.org/pub/samba/stable/samba-4.5.4.tar.gz
zabijamy wszystkie procesy samby działające w systemie
pkill samba
Robimy backup obecnej samby
tar czvf samba-4.5.3.tar.gz /usr/local/samba
Rozpakowujemy archiwum nowej samby
tar xzvf samba-4.5.4.tar.gz
wchodzimy do katalogu
cd samba-4.5.4
i wykonujemy polecenie
./configure
po skończeniu budujemy
make
i ostatecznie instalujemy (z uprawnieniami root)
make install
Po skończeniu sprawdzamy czy nasza baza jest spójna
/usr/local/samba/bin/samba-tool dbcheck
Startujemy z nową sambą wydając polecenie
/usr/local/samba/sbin/samba
Sprawdzamy status wersji
/usr/local/samba/bin/samba-tool -V
Cały proces u mnie na Raspberry PI3 trwa 2h