Ostatnio trafiłem na powłokę zsh i projekt Oh My ZSH
W domyślym theme Oh My ZSH m. in. dodaje do prompt konsoli informację o nazwie branch'a jeśli znajdujemy się w katalogu z repozytorium git'a.
Jeśli używamy rvm - aby naszy ruby i inne gemy były widziane przez powłokę należy dodać następującą linię do pliku ~/.zshrc
[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm"
Polecam ten screencast aby przekonać się czym jest zsh i jakie ma możliwości.
Pokazywanie postów oznaczonych etykietą ubuntu. Pokaż wszystkie posty
Pokazywanie postów oznaczonych etykietą ubuntu. Pokaż wszystkie posty
piątek, 30 marca 2012
środa, 25 stycznia 2012
logrotate - rotacja logów na ubuntu
logrotate służy do rotowania określonej liczby plików log.
logrotate powinien być domyślnie zainstalowany w każdym systemie Ubuntu.
Dla każdej aplikacji, której logami chcemy zarządzać, dodajemy plik konfiguracyjny:
#/etc/logrotate.d/our_app
Zawartość pliku:
/home/apps/our_app/current/log/production.log* {
daily
rotate 7
compress
missingok
}
daily - codziennie
rotate 7 - zostaw ostatnie siedem plików
compress - spakuj gzip
missingok - nie krzycz, gdy nie ma żadnych logów
logrotate wykonuje ten skrypt każdego dnia, datę ostatniego wykonania, można sprawdzić w pliku:
cat /var/lib/logrotate/status
Za pomocą następującej komendy można ręcznie uruchomić określoną konfigurację logrotate:
sudo logrotate -f /etc/logrotate.d/our_app
logrotate powinien być domyślnie zainstalowany w każdym systemie Ubuntu.
Dla każdej aplikacji, której logami chcemy zarządzać, dodajemy plik konfiguracyjny:
#/etc/logrotate.d/our_app
Zawartość pliku:
/home/apps/our_app/current/log/production.log* {
daily
rotate 7
compress
missingok
}
daily - codziennie
rotate 7 - zostaw ostatnie siedem plików
compress - spakuj gzip
missingok - nie krzycz, gdy nie ma żadnych logów
logrotate wykonuje ten skrypt każdego dnia, datę ostatniego wykonania, można sprawdzić w pliku:
cat /var/lib/logrotate/status
Za pomocą następującej komendy można ręcznie uruchomić określoną konfigurację logrotate:
sudo logrotate -f /etc/logrotate.d/our_app
wtorek, 3 stycznia 2012
ssh bez hasła
Piszę to głównie po to aby nie musieć szukać ponownie tych informacji za miesiąc lub dwa, gdy będę musiał konfigurować rsync lub coś podobnego...
Mamy dwa serwery:
A - serwer produkcyjny
B - serwer backup
Zakładam, że na serwerze B posiadamy już użytkownika (np. backup) i folder .ssh w jego katalogu domowym. Zakładam także, że posiadamy już plik .ssh/authorized_keys (lub .ssh/authorized_keys2)
Jeśli nie, to:
touch ~/.ssh/authorized_keys
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
Na serwerze A, z którego będziemy robili upload za pomocą rsync generujemy klucz prywatny i publiczny, np:
mkdir ~/.ssh
chmod 700 ~/.ssh
ssh-keygen -t rsa
Kopiujemy klucz publiczny z maszyny A na B:
scp ~/.ssh/id_rsa.pub server_b_username@server_b_domain:~/id_rsa.pub
Następnie logujemy się poprzez ssh na serwer B.
cd .ssh
cat ~/id_rsa.pub >> ~/.ssh/authorized_keys
rm ~/id_rsa.pub
Następnie wylogowujemy się z serwera B, logujemy się na serwer A i z niego powinniśmy być w stanie zalogować się na serwer B bez podawania hasła.
Mamy dwa serwery:
A - serwer produkcyjny
B - serwer backup
Zakładam, że na serwerze B posiadamy już użytkownika (np. backup) i folder .ssh w jego katalogu domowym. Zakładam także, że posiadamy już plik .ssh/authorized_keys (lub .ssh/authorized_keys2)
Jeśli nie, to:
touch ~/.ssh/authorized_keys
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
Na serwerze A, z którego będziemy robili upload za pomocą rsync generujemy klucz prywatny i publiczny, np:
mkdir ~/.ssh
chmod 700 ~/.ssh
ssh-keygen -t rsa
Kopiujemy klucz publiczny z maszyny A na B:
scp ~/.ssh/id_rsa.pub server_b_username@server_b_domain:~/id_rsa.pub
Następnie logujemy się poprzez ssh na serwer B.
cd .ssh
cat ~/id_rsa.pub >> ~/.ssh/authorized_keys
rm ~/id_rsa.pub
Następnie wylogowujemy się z serwera B, logujemy się na serwer A i z niego powinniśmy być w stanie zalogować się na serwer B bez podawania hasła.
Instalacja gem'ów bez dokumentacji na Ubuntu
Należy utworzyć plik ~/.gemrc i dodać do niego następującą linię:
gem: --no-ri --no-rdoc
Wylogować się, zalogować ponownie i gem install [gem_name] nie powinien już instalować dokumentacji dla wybranego gem'a.
gem: --no-ri --no-rdoc
Wylogować się, zalogować ponownie i gem install [gem_name] nie powinien już instalować dokumentacji dla wybranego gem'a.
Subskrybuj:
Posty (Atom)