Հավաստագրում (սերտիֆիկացում) ՝ ipv6.he.net կան ամենօրյա թեստեր, որոնք տալիս 1 լրացուցիչ միավոր է այն բանից հետո, երբ անցել է բոլոր հիմնական թեստերը. Դուք պետք է անել 100 նման փորձարկումներ առավելագույն արդյունք 😐 . Թեստեր ինքնին լիովին չնչին

  • Traceroute
  • ՔԱՆԴԵԼ AAAA
  • ՔԱՆԴԵԼ PTR
  • Ping
  • Whois

Շատ տհաճ է այն, որ իրենք թեստերը պետք է լինի եզակի, այսինքն չի կարող օգտագործել մեկ տիրույթը двапъти 🙂 Բացի ամենայնից, եւ մի քիչ նյարդայնացնում է 🙄 – որեւիցե մարտահրավեր, պարզապես плющиш 5 թիմի cli, դա copy/paste-ի կայքը.

Ինչպես ծույլ admin ով սիրում է, որ հեշտացնում է կյանքը надрасках արագ խառնաշփոթ ուժեղ հարվածել է, որ, որ, որ, անել սեւ աշխատանքը փոխարեն ինձ

#!/bin/bash

hr() {
  local start=$'\e(0' end=$'\e(B' line='qqqqqqqqqqqqqqqq'
  local cols=${COLUMNS:-$(tput cols)}
  while ((${#line} < cols)); do line+="$line"; done
  printf '%s%s%s\n' "$start" "${line:0:cols}" "$end"
}

if [ -z $1 ]
then
  echo "Append domain afert the script name!!!"
  exit
fi

IP=$(dig $1 AAAA +short)

if [ -z ${IP} ]
then
  echo "$1 dont have valid IPv6 record"
else
  reset
  traceroute6 $1
  hr
  dig $1 AAAA
  hr
  dig -x ${IP}
  hr
  ping6 -c3 ${IP}
  hr 
  whois ${IP}
fi

Ինչպես երեւում է javascript-insanely սկզբնական. Подаваш տիրույթի անունը, որ նրա ստուգել, եթե կա IPv6 գրառումները և եթե կա, իրականացնել ամենօրյա թեստեր համար. Top chic մասի – գործառույթները hr որը կմեկնի գծի ողջ լայնությամբ էկրան, վերցված bash-hackers.

Մեկը բաներ, որ ամենից շատ ինձ զայրացնում է, երբ cli պատճենել/տեղափոխել մեծ директоря, որ ես չգիտեմ, թե տոկոսը բոլոր չափ ես претъркалял. Ցավոք cp/mv չունեն նման ուժերի և անհրաժեշտության դեպքում կդիմենք այլընտրանքային տարբերակներ. Կան շատ տարբերակներ, բայց անձամբ ինձ շատ ինձ դուր է գալիս օգտագործումը rsync փոխարեն pc/mv. Այն ամենը, ներկառուցված – իրավունքների պաշտպանության ֆայլերը եւ տեղեկագրքեր, առաջընթաց բար, ինչպես նաեւ հնարավորություն է հեռացնել копируемых ֆայլեր.

Ընդհանուր առմամբ, ես ինքս 2 alias-а които вършат повече от чудна работа:

alias cpi='rsync -a --info=progress2'
alias mvi='rsync -a --info=progress2 --remove-source-files'

Բավականին երկար ժամանակ չեն անհանգստացնել հետ кодене եւ հազվադեպ ես պետք է ընտրել ինչ-որ извръщания է cli, որոնք չեն UTF8 енкоднати. Այսօր ես պետք է նայում արագ մենակ ֆայլերը, եւ, ինչպես ես բացեցի այն գրեթե միանգամից էլ ես գայթակղվում են անել rm -rf մի թղթապանակ, ուր պահում էին, ինչ-որ մեկը слабоумный մարդ, կես ուղեղի որոշեցի գրել ձեր մեկնաբանությունները կիրիլյան. Բարեբախտաբար, չի super адмиралските ուժերը որոշում են դա թյուրիմացություն է բնության հետ 1 կարգը cli:

iconv -f cp1251 -t utf8 old_shitty_encoded_file -o new_good_encoded_file

Мисля че самите флагове говорят сами за себе си но нека да ги прегледаме на бързо:

  • -o outputfile
  • -t to-encoding
  • -t to-encoding

iconv има и друга много приятна екстра че може да транслитерира (където е възможно) като се зададе -t ASCII//TRANSLIT но за съжаление не работи с кирилица 🙂

-Որեւէ (շատ պարզ է ինձ պատճառներով) ես մոռացել եմ անել թարմացնել postgresql demon ազդեցության տակ բորբոքման մեդիատորների երբ թարմացնել մեկի սերվերների Debian ինձ. Postgresql սատանա ունի հաճելի գույքը չի սկսում օգտագործել նոր տարբերակը (ի տարբերություն Mysql) այն ժամանակ, երբ չի համոզել, որ նոր լիովին համատեղելի է գործարկման – շատ օգտակար է, երբ մեծ տվյալների բազաների. Ինքը թարմացման գործընթացը սահմանափակվում, հետեւյալ 2 քայլերը:

  • pg_dropcluster
  • pg_upgradecluster

Նախքան издропите կլաստերի pg սատանա պետք է կանգնեցվել!

pg_dropcluster 9.4 main

Այս թիմը շատ արագ է ընթանում, որից հետո էլ անցնում ենք մի կարեւոր մասի – ինքը թարմացումները

pg_upgradecluster 9.1 main
Disabling connections to the old cluster during upgrade...
Restarting old cluster with restricted connections...
Creating new cluster 9.4/main ...
config /etc/postgresql/9.4/main
data   /var/lib/postgresql/9.4/main
locale en_US.UTF-8
Flags of /var/lib/postgresql/9.4/main set as -------------e-C
port   5433
Disabling connections to the new cluster during upgrade...
Roles, databases, schemas, ACLs...
Fixing hardcoded library paths for stored procedures...
Upgrading database postgres...
Analyzing database postgres...
Fixing hardcoded library paths for stored procedures...
Upgrading database template1...
Analyzing database template1...
Fixing hardcoded library paths for stored procedures...
Upgrading database xpqt...
Analyzing database xpqt...
Re-enabling connections to the old cluster...
Re-enabling connections to the new cluster...
Copying old configuration files...
Copying old start.conf...
Copying old pg_ctl.conf...
Copying old server.crt...
Copying old server.key...
Stopping target cluster...
Stopping old cluster...
Disabling automatic startup of old cluster...
Configuring old cluster to use a different port (5433)...
Starting target cluster on the original port...
Success. Please check that the upgraded cluster works. If it does,
you can remove the old cluster with

pg_dropcluster 9.1 main

Եթե ամեն ինչ минло հարթ դուք պետք է ստանալ հաղորդագրություն, որ վերը որ պահանջում էր разкарате հին տվյալների էջ.

pg_dropcluster 9.1 main

Այս тарпана այժմ դուք կարող եք սկսել գործընթացը կրկին. Ինձ բազայի փոքր է, եւ, ցավոք, չեմ կարող գնահատական տալ, թե որքան ժամանակ է անցնում բարդ թարմացումները.

Այսօր ես ստիպված էի բաց թողնել մեկ fsck մեկ մեծ RAID զանգված ~6TB. Շտապում ես չեմ fsck հնարավորությամբ -C է, որ ինձ ցույց է տալիս առաջընթաց, եւ հետո համեստ ակնկալիքներ 2 ժամ իմ թեթեւ ծակոց, որ ես տգետ, մինչեւ ինչի հասել ստուգում. Հիանալի հնարք համար արդեն մեկնարկել է fsck պատկերացնել, որ առաջընթաց բար:

kill -10 $(pidof fsck.ext3)

Սպասեք մի քիչ, ես մոտավորապես 2-3 րոպե հայտնվի առաջընթաց բար և ցույց տվեց 49% (кефе) դեռեւս 3 ժամ սպասելուց 🙁

Եկեք сумаризираме, որ մենք անում ենք, ազդանշան է ուղարկում SIGUSR1 որը հայտնվում է fsck է ցույց տալ, որ առաջընթաց բար. Եթե մենք ուզում ենք դադարեցնել այն ինչ-ինչ պատճառներով 🙄 պետք է ուղարկել SIGUSR2 կամ

kill -12 $(pidof fsck.ext3)

Էմի դա ոչ թե ինչ-որ սուպեր բարդ կամ դժվար պարզապես հիանալի հնարք 🙂