Generowanie plików dla NSD
Wygenerowanie plików konfiguracyjnych dla nsd
for i in `jot 255 1 1024 1`; do j=`printf "%04d" $i`; cat www-ipv6-sys-ovh-000N.tmpl | sed -e "s/NNNN/$i/" > www-ipv6-sys-ovh-${j}.cf; done
Plik tmpl
; --- rekord IPv6 w OVH SoYouStart -----------------------------
;
www IN AAAA 2001:41d0:2:c7df::NNNN
Użycie seq
seq -f '%02g' 1 11
Sprawdzenie certyfikatu SSL
openssl s_client -connect serwer:port
Sprawdzenie certyfikatu STARTTLS
openssl s_client -starttls smtp -crlf -connect serwer:587
lftp mirror
Polecenie do wykonania mirroru zdalenego FTP
UWAGA
Polecenie --delete kasuje plik na docelowym miejscu, których nie ma w źródle
Polecenie --reverse powoduje przesyłanie pliku z lokalnego komputera na ZDALNY serwer.
Tak więc polecenie trzeba stosować ze zrozumieniem.
lftp -c "set ftp:list-options -a; set ssl:verify-certificate false;open ftp://user:password@your.ftp.com;
lcd /opt/backups/bsdbackup; cd /bsdbackup;
mirror --reverse --delete --use-cache --verbose --allow-chown --allow-suid --no-umask --parallel=2 --exclude-glob .svn"
Opcjonalnie można wykonać listę plików do włączenia (lub wyłączenia) i podać to jako parametr:
lftp -c "set ftp:list-options [...] --include-rx-from=/tmp/lftp.list"
mirror prostej strony za pomocą wget
wget --mirror --convert-links --adjust-extension --page-requisites http://www.bsdserwis.com
getopt w skryptach SHELLowych
Każdy parametr, który dopuszczamy do użycia należy jawnie podać w "spisie" w pętli while. W przeciwnym przypadku będą się pojawiać komunikaty o błędach.
while getopts "d:v?h" opt
do
case $opt in
v)
;;
*)
_show_help
exit 3
;;
esac
done
shift `expr $OPTIND - 1`
Odkodowanie LDIF dla UTF-8
A wszystko za pomocą sed-a (sprawdzone w systemie Linux):
#Join lines starting with space
sed -n 'H; ${ x; s/\n//; s/\n //g; p}' "$FILE" > "$FILE_JOINED"
#Decode lines containing base64 (those with double colon)
sed -r 's/(:: )([[:graph:]]+)/\1 '"`grep -oP ':: [[:graph:]]+' "$FILE_JOINED" |cut -c 4- | base64 -d`"'/g' "$FILE_JOINED"
Albo wersja jednolinijkowa:
ldapsearch -xLLL -b "ou=...,dc=domena,dc=tld" -s one '(ObjectClass=*)' cn givenName sn departmentNumber mail mailAlternateAddress | sed -n 'H; ${ x; s/\n//; s/\n //g; p}' | sed -r 's/(.*:)(: )([[:graph:]]+)/echo "\1 `echo -n '\\3' |base64 -d`"/ge'
Zamiana LDIFa do pliku CSV
Plik werjściowy musi być pozbawiony znaków cudzysłowa.
Skrypt do pobrania z github-a:
wget https://gist.githubusercontent.com/dansimau/674203/raw/c551ee11c7e4eeb60a0f5b1456c0656d3eeca1f6/ldif-to-csv.sh
Na przejściu jest skrypt PERLowy w celu "zbrylowania" pola departmentNumber w jedną linijkę:
cat _ibdim.users.ldif.decoded | perl -ne 'chomp;($key,$value) = split/:/;if( !$key) {$hash{"departmentNumber"} = join("",@BPA); foreach $k (qw/dn cn sn givenName departmentNumber/){printf( "$k:%s\n", $hash{$k});}print "\n"; @BPA=();}; $hash{$key} = $value;push (@BPA, $value) if $key =~ /departmentNumber/; ' | /root/bin/ldif-to-csv.sh cn givenName sn departmentNumber > ibdim.users.csv
@@@@
(c) 2004 - 2026 BSD Serwis Krzysztof Stryjek. W przypadku błędów, poprawek proszę kontaktować się z administratorem wiki.
Źródła w sieci internet
url1
url2
url3
url4
Gdy trzeba dołączyć inną (pod)stronę https://moinmo.in/HelpOnMacros/Include https://moinmo.in/HelpOnParsers
Nieprawidłowe argumenty "pagename, heading, level, from="regex", to="regex", sort=ascending|descending, items=n, skipitems=n, titlesonly, editlink"!