Skocz do zawartości

ahes

Użytkownicy
  • Zawartość

    208
  • Rejestracja

  • Ostatnio

  • Wygrane dni

    2

Wszystko napisane przez ahes

  1. I pomyśleć, że z takim credo zdołałeś założyć działalność usługową Myśl pozytywnie! Bo może się okazać, że to ty jesteś tym większym i lepiej zorganizowanym.
  2. Hosting pod Ruby on Rails w Polsce

    A czy home.pl to duza firma? Z tego co pamietam z MeetBSD w 2006 roku to było 5 osób + BOK. Można jeszcze do tego doliczyć gościa lub dwóch latających z dyskami po serwerowni.
  3. Hosting pod Ruby on Rails w Polsce

    100 zł plus dom, samochód, mieszkanie i telewizor plazmowy. Działalność gospodarcza na osobę fizyczną odpowiada całym swoim majątkiem, czyli majątkiem właściciela działalności. Spółki z o.o., jak sama nazwa wskazuje, to dupochron dla właścicieli. Co do zarobków to jesteś w błędzie. Osobiście wolę pracować w małej firmie niż w dużym molochu z procedurami i klapkami na oczach oraz menedżerami którzy swoją wiedzę techniczną opierają na kolorowych folderach innych molochów.
  4. Skrypta basha

    IFS=$'\n'; i=0; for q in `find . -type f`; do mv "$q" "$q-$i"; let i++; done
  5. Tak bedzie dobrze #!/bin/bash m="100" # Mbit a="$m*1024" b="$a/8" c="$b*2678400" d="$c/1024" e="$d/1024" f="$e/1024" echo "$m Mbit:" array=("kbps" "KB/s" "KB/m" "MB/m" "GB/m" "TB/m"); j=0 for i in a b c d e f do eval echo "scale=3\;\$$i"|bc -l|tr -d '\n' echo " ${array[$j]}" let j++ done
  6. W bashu: i=100; echo -e "$i Mbit:\n$((i*1024)) kbps\n$((i*1024/8)) KB/s\n$((i*1024/8*267840)) KB w miesiacu\n$((i*1024/8*267840/1024)) MB w miesiacu\n$((i*1024/8*257840/1024/1024)) GB w miesiacu\n$((i*1024/8*257840/1024/1024/1024)) TB w miesiacu" EDIT: chociaz nie bo on integery z tego robi.
  7. Mozesz to zrobic na wiele sposobow: 1. iptables, dziala na najnizszym poziomie, tniesz pakiety 2. tcpwrapper - pliki /etc/hosts.allow i /etc/hosts.deny, dziala na wyzszej warstwie 3. jesli laczysz sie po kluczach RSA to w authorized_keys mozesz dopisac z przodu klucza: from="1.2.3.4" 4. w mysql mozesz nadac prawa uzytkownikowi do laczenia sie z okreslonego hosta
  8. Python, django, (git) ?

    Na studencka kieszen to w mojej sygnaturze link.
  9. Najpierw napisz, potem proś o cokolwiek.
  10. Skrypt bash - rsync

    Tak zrob: OPTIONS=(-avz --rsh='ssh -p 666')
  11. A jakies konkrety? Chce zobaczyc zapis, ze aby postawic serwerownie trzeba miec instalacje ppoz. i wiele innych bardzo waznych rzeczy.
  12. O których normach i standardach mówisz?
  13. Chmod skrypt

    A nie lepiej parametr man chmod ? -f, --silent, --quiet suppress most error messages Odwolujesz sie do zmiennej $SHELL. Niekoniecznie jest to /bin/bash. Posiada. Paradoksalnie definiuje sie go zmienną $PATH. man 5 crontab
  14. Specyficzny backup serwera

    Zle zrozumiales slowo 'brak limitu'. Brak limitu = brak ograniczen w przesyle danych (oprocz fizycznych oczywiscie). Provider nie zlicza ci ruchu, ktory przesylasz i nie pobiera oplat za nadmiarowe gigabajty.
  15. Specyficzny backup serwera

    Po co te nerwy Zamiast 100MB wyslesz 133MB. Dla mnie to nieistotna roznica. BTW, polecam hosting bez limitu transferu.
  16. Specyficzny backup serwera

    Obchodzi cie wydajnosc i skanowanie antyspamami po stronie Google? Bo mnie wcale.
  17. Specyficzny backup serwera

    Czemu nie? Zalozmy, ze masz tylko jeden serwer lub jedno konto. Zakladasz sobie poczte na GMail, robisz mysqldumpa, szyfrujesz symetrycznie pgp, robisz splita jak potrzeba i wysylasz na darmowy, niezawodny, serwer backupowy powered by Google
  18. Specyficzny backup serwera

    Widze, ze nic konkretnego ci nie napisali, wiec ja odpisze. Jak masz duze, bazy danych to hotcopy albo lvmbackup. Zakladam, ze masz male bazy, nie masz LVM i wolisz zrzuty mysqlowe wiec uzyj mysldump. Np. tak: path="/mysql-backup" for db in `mysql -Nse 'show databases'` do dump="${db}_`date '+%F'`.sql" remove="${db}_`date --date '7 days ago' '+%F'`.sql.gz" mysqldump -l $db > $path/$dump gzip $path/$dump if [ -f "$path/$remove" ] then rm -f -- "$path/$remove" fi done Zakladajac ze masz konfiguracje polaczenia do bazy w /root/.my.cnf i z uzytkownika root nie zapyta cie o haslo. To jest konfiguracja na backup raz dziennie. Jesli chcesz co godzine to zmien znacznik czasow w date z '+%F' na bardziej wyrafinowany. Moze byc nawet '+%s'. Do backupu danych polecam rdiff-backup lub xfsdump. Dla twoich zastosowan prawdopodobnie bardziej ci styknie rdiff-backup - jest to skrypt pythonowy oparty o rsync. Robi kopie przyrostowe wiec robisz backup tylko zmieniajacych sie danych. Na przyklad mozesz wykonywac backup w ten sposob: dpkg --get-selections '*' > /var/backups/dpkg.selections /usr/bin/rdiff-backup \ --include /adm \ --include /bin \ --include /boot \ --include /etc \ --include /lib \ --include /opt \ --include /root \ --include /sbin \ --include /service \ --include /tftproot \ --include /usr \ --include /var \ --exclude /var/lib/mysql \ --exclude /var/lib/mysql-cluster \ --exclude /var/lib/mysql-system \ --exclude / \ / backup@maszyna.backupowa.pl::backup /usr/bin/rdiff-backup --remove-older-than 1M backup@maszyna.backupowa.pl::backup Zakladajac, ze root na maszyne backupowa moze polaczyc sie z uzyciem kluczy, bez hasla, ani bez passphrase. To sobie wrzucasz do crona.daily i bedzie hulac. Jak mozna sie domyslic backup starszy niz jeden miesiac jest usuwany. Aby sprawdzic, czy sie dobrze wykonal i ile kopii przyrostowych znajduje sie aktualnie w backupie dajesz rdiff-backup -l sciezka/do/backupu/nazwa_backup na maszynie backupowe Na maszynie backupowej madrze jest ustawic authorized_keys w ten sposob: no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty,command="rdiff-backup --server",from="1.2.3.4" ssh-rsa =FEURIER432U4I32H4U43423_TUTAJ_KLUCZ_RSA_RRHUIREER root@maszynka.pl Jak ktos ci przejmie jedna maszyne to nie uzyska shella na drugiej za pomoca kluczy. Ale to tylko dla paranoikow. Jesli nie masz dostepu do shella na maszynie gdzie chcesz wrzucac backup to kombinuj inaczej. Uzyj wyobrazni, rob backup lokalnie i przerzucaj po FTP. Moze jest wystawiona usluga rsync na serwerze backupowym. Z tego co wiem ani rdiff-backup, ani rsync nie potrafia przerzucac danych po FTP, wiec bedziesz musial wymyslec obejscie. Mam nadzieje, ze moje informacje okazaly sie pomocne. Pozdrawiam.
  19. User CPU

    Tak wyglada graf. Ten peak to efekt odpalenia cat /dev/urandom > /dev/null
  20. User CPU

    A po co tworzyć skomplikowane narzędzia? Wystarczy ps + rrdtool. Na szybko machnięte, specjalnie dla WHT: #!/bin/bash # ahes #exclude="user1|user2|user3" # nie zliczaj tych userow path="/tmp/stats" # tu trzymaj dane period="6hours" # podstawa czasu height="600" # wysokosc wykresu width="800" # szerokosc wykresu users=$(for user in `getent passwd | cut -d: -f1 | grep -Ev ${exclude:-^$}`; do echo "$user"; done) if test ! -d "$path"; then mkdir "$path"; fi if test ! -f "$path/cpu.rrd" then rrdtool create $path/cpu.rrd --step 60 \ RRA:AVERAGE:0.5:1:1440 \ `for user in $users; do echo -n "DS:$user:GAUGE:120:0:1440 "; done` fi for user in $users do cpu=`ps ho %C -u $user | awk '{sum += $1} END { print sum }'` update="$update:${cpu:-0}" done rrdtool update $path/cpu.rrd N$update for user in $users do rrdtool graph $path/$user.png \ --title "user: $user" \ --upper-limit 100 \ --lower-limit 0 \ --start now-$period \ --vertical-label "cpu" \ --height $height \ --width $width \ DEF:user=$path/cpu.rrd:$user:AVERAGE \ LINE2:user#ff00ff \ GPRINT:user:AVERAGE:"avg\:%3.2lf" > /dev/null done Do crona co minute i jazda Pozdro.
  21. Jak podzielić dysk twardy?

    1. Pierwsza partycja /boot na niedziennikowanym systemie plików np. ext2, rozmiar 100MB powinien wystarczyc. 2. Na drugiej partycji zrobic LVM. 3. Zrobic sobie lvmowe partycje system, swap i db lub podobne. 4. Ustawic minimalne rozmiary partycji. 5. Zwiekszac w razie potrzeby za pomoca lvresize i xfs_growfs. Polecam XFS, ale nalezy pamietac, ze nie ma mozliwosci zmniejszenia partycji. Mozna ja tylko rozszerzac. Jesli masz specyficzne wymagania to zainteresuj sie schedulerami I/O i optymalizacja. Mozna robic cuda.
  22. Do crontaba dopisz: @reboot /usr/local/bin/moj_shoutcast.sh Poczytaj sobie man 5 crontab, ponieważ jest wiele innych ciekawych opcji. Oczywiscie crontaba edytuj za pomocą: crontab -u twoj_user -e poniewaz ma sprawdzanie skladni przy wyjsciu.
  23. User CPU

    O geez... a nie lepiej: ps ho %C -u root | awk '{sum += $1} END { print sum }' zamiast tych grepów, cutów i awków? Polecam postudiować manual do ps. Wg mnie i tak lepszy obraz na procesy daje htop -u login_usera
  24. Witaj, 1. zainstaluj program dstat i zobacz czym jest generowany load, np. poleceniem: dstat -cnmplyid. Moze to I/O? 2. zainstaluj program htop i zobacz czy to na pewno proces mysqld. Zzera duzo RAMu i swapuje sie? Poogladaj tez inne procesy. 3. zainstaluj program mysqlreport, uruchom go na swojej bazie i zobacz co sie w niej dzieje. Opis wszystkich wskaznikow jakie zwraca mysqlreport znajdziesz na stronie domowej projektu. 4. z ciekawosci uruchom program mysqltuner.pl, moze podpowie ci cos ciekawego w lopatologiczny sposob. 5. tuningowanie rozpoczalbym od standardowego konfiga mysql, ale nalezy pamietac ze jest to wersja, ktora chodzi nawet na maszynie z 256MB RAM. 6. pamietaj, ze intuicyjne zwiekszanie buforow wcale nie musi wplywac na wydajnosc, czasami mniejszy bufor dziala lepiej. Poczytaj o tuningowaniu bazy na blogu mysqlperformanceblog. Pozdrawiam.
  25. Jak połączyć sie z mysql?

    1. poleceniem netstat -tapune | grep mysql zobacz czy mysql binduje sie pod adres ip inny niz 127.0.0.1 (localhost) 2. w tabeli mysql.user popraw kolumne Host dla swojego usera, aby wpuszczal twojego hosta 3. sprawdz firewall iptables -L -n -v czy nie jest blokowany dostep do portu 3306 - jesli to standardowa instalacja mysql. Alternatywnie, jesli masz na tym serwerze konto shellowe, mozesz przetunelowac sie po ssh i polaczyc do bazy bez wykonywania zadnych zmian. Opis znajdziesz tutaj: http://rootnode.net/pl/FAQ#Tunel
×