Архив автора: shilovk

main git directory

mkdir /git
mkdir /git/project
cd /git/project
git —bare init
#chown -R deploy /git/project
cd /var/www/project
git remote add origin \
deploy@server:/git/project
git push origin master

/var/www/project/.git/config:

[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
[remote "origin"]
fetch = +refs/heads/*:refs/remotes/origin/*
url = /git/project/
[branch "master"]
remote = origin
merge = refs/heads/master

restore record mongoid

 

include Mongoid::Paranoia

c = Contest.find(«541088a753bb5660ad00041e»)

claim = c.claims.where(deleted_at: { ‘$ne’ => nil }).last

claim.restore

c.claims.where(deleted_at: { ‘$ne’ => nil }).to_a

Migration

script/generate migration NAMEOFMIGRATION
export RAILS_ENV=production / set export RAILS_ENV=production
rake db:migrate

auto clear / free RAM

crontab -e

5 * * * * cd /var/www/html/backup && sh clear_ram.sh

#!/bin/sh

echo 1 > /proc/sys/vm/drop_caches
echo 2 > /proc/sys/vm/drop_caches
echo 3 > /proc/sys/vm/drop_caches

#!/bin/sh

dd if=/dev/zero of=/swap bs=1M count=1024
mkswap /swap
swapon /swap

#!/bin/sh

ssh root@project.ru «tar zcvf — /var/www/project» | cat > /tmp/project.tar.gz

 

wkhtmltopdf & wkhtmltoimage

cd /tmp

http://wkhtmltopdf.org/obsolete-downloads.html

wget https://wkhtmltopdf.googlecode.com/files/wkhtmltopdf-0.11.0_rc1-static-amd64.tar.bz2

tar xvjf wkhtmltopdf-0.11.0_rc1-static-amd64.tar.bz2

cp wkhtmltopdf-amd64 wkhtmltopdf

cp wkhtmltopdf /usr/local/bin/

wget https://wkhtmltopdf.googlecode.com/files/wkhtmltoimage-0.11.0_rc1-static-amd64.tar.bz2

tar xvjf wkhtmltoimage-0.11.0_rc1-static-amd64.tar.bz2

cp wkhtmltoimage-amd64 wkhtmltoimage

cp wkhtmltoimage /usr/local/bin/

cd /project

touch tmp/restart.txt

 

$ yum search 75dpi

maybe

xorg-x11-fonts-75dpi.noarch : A set of 75dpi resolution fonts for the X Window System.
xorg-x11-fonts-ISO8859-1-75dpi.noarch : A set of 75dpi ISO-8859-1 fonts for X.
xorg-x11-fonts-ISO8859-14-75dpi.noarch : ISO8859-14-75dpi fonts
xorg-x11-fonts-ISO8859-15-75dpi.noarch : ISO8859-15-75dpi fonts
xorg-x11-fonts-ISO8859-2-75dpi.noarch : A set of 75dpi Central European language fonts for X.
xorg-x11-fonts-ISO8859-9-75dpi.noarch : ISO8859-9-75dpi fonts

and then

$ sudo yum install xorg-x11-fonts-75dpi.noarch

https://stackoverflow.com/questions/5035601/error-running-wkhtmltopdf-error-while-loading-shared-libraries

$ sudo yum install libXrender libXext fontconfig
$ sudo yum installl xorg-x11-font-utils xorg-x11-fonts-Type1

errors

tail /var/log/messages -n 1000
tail /var/log/mongodb/mongod.log -n 10000

Работа с git. Создание и удаление веток

1) Посмотреть все ветки

  • git branch
  • git branch -r

2) Удалить ветку на сервере

  • git push origin :crincum_poi

3) Удалить ветку локально

  • git branch -D crincum_poi

4) Создать ветку на сервере

  • git push origin master:crincum_poi

5)  Смерджить ветку таска MAP-23 в текущую ветку проекта crincum

  • git checkout master
  • git merge experimental

6) Процесс создания веток под таск

  • git checkout -b MAP-186  — создаем локальную ветку
  • git branch — проверяем, что переключились на текущую ветку
  • git push origin MAP-186:MAP-186 — пушим origin в новую удаленную ветку. Тем самым создаем ее.
  • Проверяем наличие удаленной ветки git branch -r и Работаем:)

7) Ошибка refusing to pull with rebase: your working tree is not up-to-date  .gitignore.: needs update.
Решение жестко сменить HEAD ветки. Правда могут потеряться какие то изменения, зато pull заработает:)

  • git reset —hard origin/master

Commands

Model.all_in | Criteria#all_in

Adds a criterion that specifies values that must all match in order to return results. The corresponding MongoDB operation is $all.

MONGOID

# Match all people with Bond and 007 as aliases.
Person.all_in(aliases: [ "Bond", "007" ])

MONGODB QUERY SELECTOR Читать далее

nginx + passenger + service + autorun

gem install passenger -v —no-rdoc —no-ri
#gem update —system ***
if no swap
dd if=/dev/zero of=/swap bs=1M count=1024
mkswap /swap
swapon /swap
df -h
passenger-install-nginx-module
/opt/nginx/sbin/nginx -s stop
vim /etc/init.d/nginx

#!/bin/sh
#
# nginx — this script starts and stops the nginx daemin
#
# chkconfig: — 85 15
# description: Nginx is an HTTP(S) server, HTTP(S) reverse \
# proxy and IMAP/POP3 proxy server
# processname: nginx
# config: /opt/nginx/conf/nginx.conf
# pidfile: /opt/nginx/logs/nginx.pid

# Source function library.
. /etc/rc.d/init.d/functions

# Source networking configuration.
. /etc/sysconfig/network

# Check that networking is up.
[ "$NETWORKING" = "no" ] && exit 0

nginx=»/opt/nginx/sbin/nginx»
prog=$(basename $nginx)

NGINX_CONF_FILE=»/opt/nginx/conf/nginx.conf»

lockfile=/var/lock/subsys/nginx

start() {
[ -x $nginx ] || exit 5
[ -f $NGINX_CONF_FILE ] || exit 6
echo -n $»Starting $prog: »
daemon $nginx -c $NGINX_CONF_FILE
retval=$?
echo
[ $retval -eq 0 ] && touch $lockfile
return $retval
}

stop() {
echo -n $»Stopping $prog: »
killproc $prog -QUIT
retval=$?
echo
[ $retval -eq 0 ] && rm -f $lockfile
return $retval
}

restart() {
configtest || return $?
stop
start
}

reload() {
configtest || return $?
echo -n $»Reloading $prog: »
killproc $nginx -HUP
RETVAL=$?
echo
}

force_reload() {
restart
}

configtest() {
$nginx -t -c $NGINX_CONF_FILE
}

rh_status() {
status $prog
}

rh_status_q() {
rh_status >/dev/null 2>&1
}

case «$1″ in
start)
rh_status_q && exit 0
$1
;;
stop)
rh_status_q || exit 0
$1
;;
restart|configtest)
$1
;;
reload)
rh_status_q || exit 7
$1
;;
force-reload)
force_reload
;;
status)
rh_status
;;
condrestart|try-restart)
rh_status_q || exit 0
;;
*)
echo $»Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}»
exit 2
esac

chmod +x /etc/init.d/nginx
service nginx start
service nginx stop
service nginx reload
service nginx restart
service nginx status
service nginx configtest

#cool autorun1
/sbin/chkconfig nginx on

#or autorun2
vim /etc/rc.local

/opt/nginx/sbin/nginx