Skip to content

Instantly share code, notes, and snippets.

@zavod
Created April 9, 2019 13:01
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save zavod/a8265e4ee4eec077ecb30dc770f31e85 to your computer and use it in GitHub Desktop.
Save zavod/a8265e4ee4eec077ecb30dc770f31e85 to your computer and use it in GitHub Desktop.
alp
@zavod
Copy link
Author

zavod commented Apr 9, 2019

rabbitMq

#purge rabbitMq
#Manually purge the Queues by removing them from /var/lib/rabbitmq/mnesia/ and then starting the service.
rm -fr /var/lib/rabbitmq/mnesia/*

#start service
service rabbitmq-server start

#check status
service rabbitmq-server status

tasks

rabbitmqctl list_queues

@zavod
Copy link
Author

zavod commented Apr 9, 2019

Linux cmd

#disc size

df -h
du -ch папка
du -ch 
du -ch --max-depth=1 | sort -n -r 

ubuntu version

lsb_release -a

find process

ps -aux|grep python

find str in file and display two more rows

grep -A 2 "07050c68a2502cda3874f7b73976df0a" imports.log

show ports

sudo netstat -plnt
netstat -na
ss -tunlop

listen remote ports

nmap 173.212.220.236

firewall

ufw status

#open port
ufw allow 22/tcp

#reload
ufw reload

#enable ufw
ufw enable

@zavod
Copy link
Author

zavod commented Apr 10, 2019

Installing latest docker and docker-compose on Ubuntu

#get latest version number from https://github.com/docker/compose/releases

DOCKER_COMPOSE_VERSION=$(curl -s https://github.com/docker/compose/releases/latest | grep -Po 'tag/([0-9\.]+)' | sed 's/tag\///')
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - && \
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" && \
apt-get update && \
apt-cache policy docker-ce && \
apt-get install -y docker-ce && \
sudo curl -L "https://github.com/docker/compose/releases/download/$DOCKER_COMPOSE_VERSION/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose && \
chmod +x /usr/local/bin/docker-compose && \
docker-compose --version && \
docker version

@zavod
Copy link
Author

zavod commented Apr 13, 2019

How can I see the full command of a running container/process in Docker?

docker inspect -f "{{.Name}} {{.Config.Cmd}}" $(docker ps -a -q)

... it does a "docker inspect" for all containers.

@zavod
Copy link
Author

zavod commented Apr 13, 2019

Vue.js

#fix Failed at the node-sass@4.11.0 postinstall script.

sudo npm install --unsafe-perm=true --allow-root

#Module build failed: Error: ENOENT: no such file or directory, scandir '/Users/aleksandrprotsyuk/Projects/refterminal/ref_terminal_backend/ref_terminal_frontend/node_modules/node-sass/vendor'

gyp verb check python checking for Python executable "python2" in the PATH
gyp verb which failed Error: not found: python2
gyp verb which failed at getNotFoundError (/Users/a

sudo npm config set python /usr/bin/python

gyp ERR! stack Error: EACCES: permission denied, mkdir '/Users/aleksandrprotsyuk/Projects/refterminal/ref_terminal_backend/ref_terminal_frontend/node_modules/node-sass/build'

sudo chown -R $USER:$(id -gn $USER) /Users/aleksandrprotsyuk/Projects/refterminal/ref_terminal_backend/ref_terminal_frontend/node_modules/

gyp ERR! stack Error: EACCES: permission denied, mkdir '/Users/aleksandrprotsyuk/Projects/refterminal/front2/ref_terminal_frontend/node_modules/fsevents/build'

sudo npm install -g --unsafe-perm --verbose @angular/cli

Module build failed: Error: Cannot find module 'node-sass'
sudo npm install --save-dev --unsafe-perm node-sass

check version Vue.js

npm list vue

#install previous version
sudo npm install vue@2.3.3 --save-dev --unsafe-perm

Error: Cannot find module 'mkdirp'
npm install mkdirp@latest

Error: Cannot find module 'extend'
sudo npm install --save-dev --unsafe-perm node-sass@4.5.3

@zavod
Copy link
Author

zavod commented May 1, 2019

@zavod
Copy link
Author

zavod commented May 4, 2019

docker swarm

https://docs.docker.com/engine/swarm/swarm-tutorial/

#run on virtual machine
docker-machine IP manager1

#init on manager machine
docker swarm init

#docker info
docker info

#node info
docker node ls

#remove node
docker node rm ybxi9y1vw538r3hgng86dmsyx

#remove manager
docker swarm leave --force

@zavod
Copy link
Author

zavod commented May 8, 2019

django docker

https://phungxuananh.github.io/devops/django-nginx-gunicorn-postgres/#run-gunicorn-using-supervisor

django docker swarm

https://phungxuananh.github.io/devops/deploy-docker-swarm-on-multiple-host/#

PostgreSQL replica in swarm

https://info.crunchydata.com/blog/an-easy-recipe-for-creating-a-postgresql-cluster-with-docker-swarm

docker run in swarm

https://docs.docker.com/engine/swarm/stack-deploy/

#docker push to rep
docker login

#build image

#tag image
docker tag villona_web:latest villona/villona

#push
docker push villona/villona

#run to swarm
docker stack deploy --compose-file docker-compose.yml villona_stack

#status
docker stack services villona_stack

#stop services
docker stack rm villona_stack

#scale
docker service scale webserver=2

stop service

docker service rm webserver

#inspect ps
docker service inspect villona_stack_api
docker service ps villona_stack_api

#display full error msg
docker service ps villona_stack_api --no-trunc

swarm steps

  1. init swarm on manager
    docker swarm init
  2. join on worker
    docker swarm join --token SWMTKN-1-4s0li1l19yhsay92h0jemp1f922cxxzzha3sudwgkw6xd6eyyl-XXXXXXXXXXXX 207.180.240.180:2377
  3. open ports https://www.digitalocean.com/community/tutorials/how-to-configure-the-linux-firewall-for-docker-swarm-on-ubuntu-16-04
  4. generate ssh key
    ssh-keygen -t rsa -C “alp@zavode.ru”
  5. add ssh-key on rep
  6. git pull on worker

@zavod
Copy link
Author

zavod commented May 15, 2019

disc size

df -h
du -ch папка
du -ch
du -ch --max-depth=1 | sort -n -r

@zavod
Copy link
Author

zavod commented May 15, 2019

ssh-add ~/.ssh/alp_iOS
sudo /usr/local/mysql/support-files/mysql.server start
/etc/init.dold/supervisor stop

workon zavod
python manage.py runserver
grep -r ModelAdmin ./*

list with dates

ls -la

mkdir alp1
cd alp1
git clone git://u16586.netangels.ru/cms.git
pip install -r zavod-cms/reqs/all.txt
mkvirtualenv Project1
pip install Django
python manage.py startapp books
python manage.py validate
python manage.py sqlall books
python manage.py syncdb
sudo apt-get install sqlitebrowser
sudo apt-get upgrade firefox

#network
docker network ls
ifconfig
docker network inspect bridge

python manage.py dbshellf

#нагрузка на сервер
tail -f /webs/portal/logs/nginx_access.log

virtualenvs:
~/.bashrc
export WORKON_HOME=$HOME/.virtualenvs
source /usr/local/bin/virtualenvwrapper.sh
source .bashrc

pip install --upgrade pycrypto
grep -r CMS_DEFAULT_MENU_ITEM ./* поиск в текущей папке (рекурсивный)
assert False ставим ошибку

ssh root@u1u16586.netangels.ru
доступ
ssh root@u16586.netangeles.ru

su zavod (стать пользователем zavod)
ls посмотреть каталог

Обновление базы
python manage.py dumpdata --indent=4 cms
python manage.py dumpdata --indent=4 cms >> dblexkredit1.json

sudo /etc/init.d/nginx restart
/etc/init.d/apache2 restart
sudo /etc/init.d/postgresql restart
service mysql restart

sudo /etc/init.d/mysql restart
mysqld

запуск виртуального окружения
source ~zavod/.virtualenvs/zavod/bin/activate

ssh root@8/Users/aleksandrprotsyuk7.118.94.95
su www-data
--перезагрузка процесса
cd ~/lexkredit
ps -aux|grep lexkredit
kill -9 26237 26238
uwsgi -x lexkredit.uwsgi.xml

память:
free

performance

top
htop
sudo iotop
sudo iptraf
sudo iftop
------restart server webs
ssh webs@213.159.192.66
z123456

su chmod -R 0777 .env
Pfdjl222s

#permisions for user
chown -R tzadmin data

supervisorctl restart site_name

supervisor error
sudo supervisord -c /etc/supervisor/supervisord.conf
sudo supervisorctl reload

sql
--создаем дамп бд
mysqldump -p"Pfdjl222" u27720_torghol > /webs/torghol.sql
mysqldump -u root -p"Pfdjl222" stylesilver > ~/Projects/dev/stylesilver.ru/hlopotnet/stylesilver.db

--autorization
mysql -u "root" -p

--доступ на сервере Олега
mysql -u "root" -p
(Pfdjl222)

check ibdata1 mysql size

du -hsc /var/lib/mysql/ibdata1

delete ibdata1 mysql

https://stackoverflow.com/questions/3456159/how-to-shrink-purge-ibdata1-file-in-mysql

--create database
create database klimatek;

--add user
GRANT ALL ON klimatek.* TO support@zavode.ru IDENTIFIED BY 'Pfdjl222'; FLUSH PRIVILEGES;

--add data(restore) from dump
mysql -u"root" -p klimatek < ~/Projects/torg_holod/torghol.sql

--use database
use klimatek;

show tables;


--rename dir
mv .env .env.old

--create new .env
virtualenv --system-site-packages .env
virtualenv --no-site-packages .env
virtualenv -p python3 --no-site-packages .env
python3.6 -m venv .env3
python3 -m venv .env3

del migrations

python3 manage.py migrate --fake ladder zero

show ports

sudo netstat -plnt
netstat -na
ss -tunlop

show processes

ps aux

better way to show ports

sudo netstat -tlpn

install python3.6

https://tecadmin.net/install-python-3-6-ubuntu-linuxmint/#
https://www.rosehosting.com/blog/how-to-install-python-3-6-on-ubuntu-16-04/

wget https://www.python.org/ftp/python/3.6.3/Python-3.6.3.tar.xz

tar xJf Python-3.6.3.tar.xz

cd Python-3.6.3

./configure

make

make install

check ports

nmap -p 6379 -T aggressive 40.122.214.223/32

kill port

iptables -A INPUT -p tcp --dport 6379 -j DROP

---git
--del last commit
git reset HEAD^ # remove commit locally
git push origin +HEAD # force-push the new HEAD commit

git remove folder from tracking

git rm —r —-cached folder

git remove filie from tracking

git rm -f dockerfiles/.DS_Store

--install project to server
unzipn zavode-torg_holod-3fec36c194de.zip

--del file or folder
rm -R zavode-torg_holod-3fec36c194de.zip

remove files from folder

rm -rf /usr/local/include/*

--архивация без сжатия
tar -cvvf foo.tar foo

--архивация с сжатием
tar czvf arhname.tar.gz folder

--разархивация
tar xzvf archname.ruа

sphinx
--add config
./manage.py generate_sphinx_config torgholapp > ~/Projects/torg_holod/sphinx/config/sphinx.conf
indexer --config /home/comp-dev/Projects/torg_holod/sphinx/config/sphinx.conf --all

sudo locate searchd /home/comp-dev/Projects/torg_holod/sphinx/config/sphinx.conf
sudo searchd --config /home/comp-dev/Projects/torg_holod/sphinx/config/sphinx.conf

--ищем процесс
ps aux | grep searchd

--доступ к Phpmyadmin
http://pma2033.zavode.ru/
roog, Pfdjl222

--create link (source, target)
ln -s /webs/klimat-ek.zavode.ru/torg_holod/torghol/media/ /webs/klimat-ek.zavode.ru/torg_holod/media

--start project from cmd
uwsgi -x /webs/klimat-ek.zavode.ru/uwsgi/uwsgi.xml

--добавим запуск проекта в конфиг супервизора для постоянного запуска
/usr/local/etc

--mc -возможность редактирования

--restart supervisord
/usr/local/etc/rc.d/supervisord restart

--установка ssh
sudo apt-get install ssh
ifconfig

--migration
python manage.py schemamigration zavodcms_reference --initial
python manage.py schemamigration zavodcms_reference --auto

redo fake migration

python manage.py migrate --fake sms zero

--check file from shell
python manage.py shell
import Image; im = Image.open("file.jpg"); im.show();
im.size

--connect device to ubuntu 12.04

ubuntu version

lsb_release -a


deploy project to server

  1. add record
    webs@213.159.192.66/usr/local/etc/nginx/sites-enabled
    /usr/local/etc/rc.d/nginx restart

  2. copy uwsgi from another project
    -edit it

  3. Add .env
    virtualenv --system-site-packages .env

  4. copy from .env/lib/python2.7/site-packages by dev

  5. add folders www, logs

  6. создаем БД, создаем юзера

---------------------Поиск
[13:25:19] Олег Пхххххххв: в /etc/rc.local
[13:25:26] Олег Пхххххххв: прописан запуск
[13:25:39] Олег Пхххххххв: searchd --config /webs/mega-e.su/megae/sphinx/config/sphinx_config.conf
searchd --config /webs/psk-spektr.ru/spectr/sphinx/config/sphinx.conf
searchd --config /webs/geoptics.ru/g4/sphinx/config/sphinx.conf
searchd --config /webs/chus59.ru/g4/sphinx/config/sphinx.conf

kill sphinx

pidof searchd
killall searchd
rm -f /etc/sphinxsearch/searchd.pid

sphinx status

searchd --status

sudo /etc/init.d/nginx restart

sudo service ssh restart
sudo nano /etc/nginx/nginx-vhosts.conf
sudo /etc/init.d/apache2 restart
sudo nano /etc/supervisor/conf.d/intellecterru.conf

kill supervisord
/usr/bin/supervisord

#test nginx
sudo nginx -t

test supervisor

supervisord -n

supervisor run processes

supervisorctl

processor

cat /proc/cpuinfo

----load data from dump
SHOW DATABASES;
DROP DATABASE [DBNAME];
CREATE DATABASE [DBNAME];
USE [DBNAME];
SOURCE [/path_to_file/DBNAME].sql;

---редирект nginx
server {
server_name hlopotnet.dev.zavode.ru;
listen 80;

    access_log   /var/log/hlopot_access.log;
    error_log    /var/log/hlopot_error.log;

    location ~* \.(jpg|jpeg|gif|png|ico|css|js|swf|txt|htm|html)$ {
        root  /home/comp-dev/Projects/dev/hlopot.net/;
    }

    location ~ /\.ht {
        deny all;
    }

    location / {
            proxy_pass http://localhost:7000/;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }

}

full access

sudo chmod -R 0777 .env
chmod 775 .env/

Поиск
/etc/rc.local

Автозапуск лежит здесь
/etc/supervisor/conf.d

Рестарт автозапуска
ps -aux|grep supervisord
kill -9
sudo /usr/bin/supervisord

Перемещение файла
sudo mv otdammame.ru ../unavailable/

Генерация локаций
django-admin makemessages -l ru -a

django-admin compilemessages

#консоль под рутом
sudo bash

#start project Django
django-admin startproject uzkt

#enter to dev
Ssh -p 2222 comp-dev@zavode.ru

#create superuser
python manage.py createsuperuser --username=admin --email=support@zavode.ru

Установка пакета
python setup.py install

:wq

——mac——————
sudo /usr/local/mysql/support-files/mysql.server start
mysql -ve

mysql -u root -p
show databases;
CREATE DATABASE geograftur.ru CHARACTER SET utf8 COLLATE utf8_general_ci;

ssh-add ~/.ssh/alp_iOS

python setup.py install

django localization
django-admin.py makemessages -l ru
django-admin.py compilemessages

#git new branch
git checkout -b test
#git change branch
git checkout test

#change branch
git fetch && git checkout registration

pip install -r requirements.txt
pip freeze > requirements.txt

git update-index --assume-unchanged local_settings.py

#install pillow on mac
$ curl -O http://www.ijg.org/files/jpegsrc.v8c.tar.gz
$ tar zxvf jpegsrc.v8c.tar.gz
$ cd jpeg-8c/
$ ./configure
$ make
$ sudo make install

pip uninstall pil
pip install pillow
#trouble fix pillow install
https://pypi.python.org/pypi/Pillow/2.1.0

install pillow on ubuntu

sudo apt-get install libjpeg-dev
sudo apt-get install libtiff5-dev libjpeg8-dev zlib1g-dev libfreetype6-dev liblcms2-dev libwebp-dev tcl8.6-dev tk8.6-dev python-tk

reinstall pillow

pip install --no-cache-dir -I pillow==2.9.0

ps aux | grep 7000

postgress—————————————
#load from dump
/Library/PostgreSQL/9.3/bin/pg_restore -i -h localhost -p 5432 -U postgres -d portal -v PortalDB
/Library/PostgreSQL/9.4/bin/pg_restore -i -h localhost -p 5433 -U postgres -d ekbrealty -v ekbrealty.db

#make dump
sudo pg_dump -i -h localhost -p 5432 -U admun -F c -b -v -f portal_alp.db portal

#create database
/Library/PostgreSQL/9.3/bin/createdb -U postgres portal_base

#postgesql install linux
sudo apt-get install postgresql

#start server
sudo service postgresql start

sudo su - postgres

#become bsql
psql

#list databases
\list

connect database

\connect kubish;

tables list

\dt

table row counts

select count(*) from django_session;

clear table

TRUNCATE TABLE django_session;

#create database
CREATE USER kubish_login WITH PASSWORD 'FthC7oNm8APgWv';
CREATE DATABASE godanup WITH OWNER postgres ENCODING 'UTF8';
create database kubish;

#create user
CREATE USER kubish_login WITH PASSWORD 'FthC7oNm8APgWv';

permissions

GRANT ALL PRIVILEGES ON DATABASE portal2 to portal2;

#logout
\q

#restore
pg_restore -i -h localhost -p 5432 -U kubish_login -d kubish -v /webs/kubish.ru/kubish.db

#postgres restore platform
pg_restore -i -h localhost -p 5432 -U postgres -d portal2 -v portal2.bd
#———————————

#Cron
/etc/crontab

#mac
sudo /usr/sbin/apachectl restart
sudo nano /private/etc/hosts

ubuntu stop apache2
sudo systemctl stop apache2.service

create user Django
python manage.py createsuperuser

#git
git rm -r --cached .idea/

#git remove all .pyc
find . -name "*.pyc" -exec git rm -f {} ;

branches

git branch -a

#fixtures
python manage.py dumpdata zavodcms_blocks.moduletype --indent=4 > zavodcms/zavodcms_blocks/fixtures/initial_data_modules_types.json

fixtures of singe model

python manage.py dumpdata order.OrderStatus --indent=4 > apps/order/fixtures/order_status.json

python manage.py loaddata zavodcms/zavodcms_blocks/fixtures/initial_data_modules_types.json

python manage.py dumpdata domain.region --indent=4 --format=xml > apps/domain/fixtures/region.xml

python manage.py loaddata apps/domain/fixtures/country.xml

Отмена изменений в файле
git checkout -- app/pages/admin.py

$change rep
git remote set-url origin git@bitbucket.org:zavode/clover.git

#git create new branch
Create the branch on your local machine :

$ git branch <name_of_your_new_branch>
Push the branch on github :

$ git push origin <name_of_your_new_branch>

$git add .
git commit -m “new”
git push origin new_branch

#switch branch
git checkout -b 4.2

#south del migration
python manage.py migrate store zero --fake

#install new virtual on Azure
apt-get install nginx uwsgi
apt-get install supervisor
sudo apt-get install git

#copy key
ssh server
cd .ssh
scp id_rsa azureuser@hlopot.cloudapp.net:~/.ssh
scp -r root@193.107.237.246:/webs/tz-prod/data/import/ import/
apt-get install mysql-server

#count files
ls | wc -l

del brahch

git branch -d with-search

#mysql
/etc/mysql/my.cf
lower_case_table_names = 1

#cron
sudo nano /etc/crontab
#0 9 * * * root kill ps aux | grep searchd | grep hlopotnet | awk '{print $2}'; /webs/hlopot.net/.env/bin/python /webs/hlopot.net/hlopotnet/manage.py autorun && /usr/bin/index$
0 9 * * * root /webs/hlopot.net/.env/bin/python /webs/hlopot.net/hlopotnet/manage.py autorun

#git pull new branch
git fitch
git checkout zavod_politics

#git log
ctrl+z

#data with size
ls -lh

sudo apt-get install mc

Поддержка мыши
sudo apt-get install gpm

#pass migration

#mac apache
sudo apachectl restart

#shell mysql
/usr/local/mysql/bin/mysql -v

select version

#phpmyadmin mac
http://localhost/~aleksandrprotsyuk/phpmyadmin/

#celery
pip install celery django-celery django-kombu
python manage.py celeryd -l INFO -B

#manual
http://www.lexev.org/2014/django-celery-setup/

#find celery
ps aux | grep python

—————————————
#mobile
sudo npm install -g ios-sim
cordova emulate ios
python -m SimpleHTTPServer
phonegap local plugin list
cordova platform add ios
phonegap create protsyuk com.protsyuk.hello
phonegap serve
cordova serve
#ionic
ionic start todo blank
ionic platform ios

ionic build ios
ionic emulate ios

sudo npm install -g cordova ionic gulp

#globalization functions
cordova plugin add https://git-wip-us.apache.org/repos/asf/cordova-plugin-globalization.git

——
#clover postgress base restore
sudo -u postgres bash
psql93 clover5 < ~/Projects/prod15.12.14.sql

#local postres restore from sql
/Library/PostgreSQL/9.4/bin/psql -h localhost -p 5433 -U postgres sco_backup < sco-20170908-090853.sql


#supervisor info
supervisorctl

#supervisor update
supervisorctl reread
supervisorctl update

#restart supervisord
sudo supervisorctl reload

#kill process
ps aux | grep -i manage
kill -9 process id

#ssh generate
ssh-keygen -t rsa -C “alp@zavode.ru
ssh-add ~/.ssh/id_rsa

#agent
eval ssh-agent -s

#change timezone
unlink /etc/localtime
sudo ln -s /usr/share/zoneinfo/Etc/GMT+7 /etc/localtime

#run redis
redis-server
redis-cli

#reuse django db for tests
REUSE_DB=1 ./manage.py test domain

git revert last changes

git revert --about

#geoip
http://xazrad.blogspot.ru

#change ubuntu user permissions
http://askubuntu.com/questions/365087/grant-a-user-permissions-on-www-data-owned-var-www

#ftp
#restart demon
/etc/init.d/proftpd restart
locale
export LANG='ru_RU.UTG-8'
export LC_ALL='ru_RU.UTF-8'

#django locale
django-admin makemessages -l ru

#check folder permission
ls -l data/

change permission for backup folder

sudo chown -R postgres:postgres bk/

#disc size
df -h
du -ch папка
du -ch
du -ch --max-depth=1 | sort -n -r

#memory
top (Shift+M)
htop
free -m
ps -u azureuser -o rss,etime,pid,command
ps aux --sort -rss
ps -e -orss=,args= | sort -b -k1,1n | pr -TW$COLUMNS

#block ip

#check list
sudo iptables -nL

mac check ip

ifconfig

#add domain to block list(ban)
iptables -I INPUT -s айпиадрес -j DROP
sudo iptables -I INPUT -s 177.141.0.0/8 -j DROP

#del domain from list
sudo iptables -D INPUT -s 213.24.135.147 -j DROP

#current activity
sudo tcpdump -t -nni eth0 port 80

list of blocks

/sbin/iptables -L INPUT -v

#эта команда выведет активные соединения, и количество конектов
sudo netstat -na | grep :80 | awk '{print $5}' | awk -F":" '{print $1}' | sort

количество коннектов по IP

netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n

count of all active IP’s to Web server

netstat -ntu | grep :80 | grep -v LISTEN | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -rn | grep -v 127.0.0.1 | wc -l

Final count of all active connections to Web server

netstat -ntu | grep :80 | grep -v LISTEN | awk '{print $5}' | cut -d: -f1 | grep -v 127.0.0.1 | wc -l

table connections

netstat -an | grep tcp | awk '{print $6}' | cut -f 1 -d : | sort | uniq -c | sort -n

download from url

wget "http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz"

#проверить домен
dig sumka-land.ru

ddos

ab -c 10 -n 100 http://google.com/

#django nose
REUSE_DB=1 ./manage.py test domain

#translate
./manage.py makemessages -l ru --extension=html,py
./manage.py makemessages -l en --extension=html,py

#supervisord lang
/etc/supervisor/supervisor.conf
environment=LANG="en_US.utf8", LC_ALL="en_US.UTF-8", LC_LANG="en_US.UTF-8"

#django unsupported locale setting
export LC_ALL="en_US.UTF-8"
export LC_CTYPE="en_US.UTF-8"
sudo dpkg-reconfigure locales

#ftp restart
/etc/init.d/proftpd restart

#postgresql mac install
sudo PATH=$PATH:/Applications/Postgres.app/Contents/Versions/9.4/bin pip install psycopg2

#Postgesql linux
sudo apt-get install postgresql
sudo apt-get install python-psycopg2
sudo apt-get install libpq-dev
apt-get install python-dev # on digital ocean
pip install psycopg2

#Postgres set password
\password

mac stop postgres

sudo su postgres
pg_ctl -D /Library/PostgreSQL/9.3/data/ stop

#postgres create database
CREATE DATABASE godanup WITH OWNER postgres ENCODING 'UTF8';

#drop database
DROP DATABASE clashstreet;

#ports
netstat -tap

#processes
sudo ps aux

change linux password

passwd

#mysql
SHOW DATABASES;
SHOW TABLES;
delete from table;
show columns from tzapp_status;
ALTER TABLE tzapp_status ADD id int;
LOAD DATA LOCAL INFILE '~/Downloads/list_article.sql' INTO TABLE list_article;

delete column

ALTER TABLE calculator_distance DROP COLUMN finish_latitude;

#count file in dir
ls -1 | wc -l

insert text to file

cat id_rsa.pub >> authorized_keys

clear file

cat > nginx_error.log
#and Ctrl+C

#celery memory
watch -n 1 'ps ax -o rss,user,command | sort -nr | grep celery |head -n 5'

#run celery
python manage.py celery worker -B --concurrency=1

#celery task error
mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u tz66ru -p mysql

#date
date

#set date
date --set="2 SEP 2015 11:15:00"
dpkg-reconfigure tzdata

#group list
cut -d: -f1 /etc/group

#add new group
groupadd

#info current user
id tzdor

add user

useradd www-data

user set password

passwd www-data

check python path

which python3

#change user group
sudo /etc/group

#add user to group
usermod -a -G import_users tzadmin

#change group owner
chown -R tzadmin.import_users data

check folder permissions

ls -ld celery/

linux static IP

sudo nano /etc/network/interfaces

#change group permission
chmod -R 0775 data/
sudo chmod -R 777 media/

other way change group permission

sudo chown -R www-celery celery/

change permission for group

sudo chown -R comp-dev:comp-dev public_html

#logs
/var/log#

#show last items in logs
tail 10 file

#facebook access token
https://developers.facebook.com/tools/accesstoken/

supervisord status

sudo supervisorctl status

#netangels start
~/protsyuk.ru/cgi-bin/django-wrapper.fcgi

#images
http://placehold.it

#netangels generate ssh keys
ssh-keygen -t rsa -C "alp@zavode.ru"
eval ssh-agent -s
ssh-add ~/.ssh/id_rsa

without pass

ssh-keygen -b 1024 -t rsa -f id_rsa -P ""

#count files
ls | wc -l

#django locale
django-admin makemessages --all
django-admin.py compilemessages

django model translation

python manage.py update_translation_fields

#create google apps
https://console.developers.google.com/project

#django mptt rebuild
Profile.objects.rebuild()

localhost to publish

https://ngrok.com

iptables

#clear config
sudo service iptables-persistent flush

#iptables django config
https://gist.github.com/henocdz/7d54eaf182ee5d63d178
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
sudo iptables -A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
sudo iptables -P INPUT DROP
sudo iptables -A INPUT -i eth1 -p tcp --destination-port 8000 -j ACCEPT
sudo iptables -A INPUT -i eth1 -p tcp --destination-port 2049 -j ACCEPT
sudo iptables -A INPUT -i eth1 -p udp --destination-port 2049 -j ACCEPT
sudo iptables -A INPUT -p icmp -j ACCEPT
sudo iptables -A INPUT -i lo -p tcp --destination-port 9001 -j ACCEPT
sudo iptables -A INPUT -i eth1 -p tcp --destination-port 5432 -j ACCEPT
sudo iptables -A INPUT -i eth1 -p tcp --destination-port 6379 -j ACCEPT
sudo iptables -A INPUT -i eth0 -p tcp --destination-port 80 -j ACCEPT
sudo iptables -A INPUT -i eth0 -p tcp --destination-port 443 -j ACCEPT

#check iptables
sudo iptables -S

#display all path MAC
pwd

#linux full path
readlink -f ~/skapcapital.ru/

#resize virtualbox
VBoxManage modifyhd windows-10.vdi --resize 60000

ftp add user

adduser mnto
vi /etc/group
vipw

ftp user change password

passwd parlament

code lines count

git ls-files | xargs wc -l

run .sh file

chmod +x /path/to/yourscript.sh
./yourscript.sh

#digitalocean nginx, uwsgi, virtualenv
https://www.digitalocean.com/community/tutorials/how-to-serve-django-applications-with-uwsgi-and-nginx-on-ubuntu-14-04

digitalocean postgres

https://www.digitalocean.com/community/tutorials/how-to-install-and-use-postgresql-on-ubuntu-14-04

#user no login
sudo nano /etc/passwd
#look like:
#www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin

fix it:

chsh -s /bin/bash www-data

======CentOS======
#check version
hostnamectl

linux change timezone

sudo dpkg-reconfigure tzdata

cron

sudo /etc/init.d/cron restart
sudo service cron reload

sudo nano /etc/crontab

pg_backup ======================================================

  1. Create backup_kubish.sh script:
    =========
    #!/bin/sh
    DATE=$(date +%Y%m%d);

/bin/su postgres -c "/usr/bin/pg_dump -F c -b -v -f /usr/share/nginx/html/bk/kubish${DATE}.db kubish"

/usr/bin/rsync -e "ssh -i /root/.ssh/id_rsa_backup" /usr/share/nginx/html/bk/kubish${DATE}.db 185.41.163.28:/webs/backups/kubish/

/bin/rm -f /usr/share/nginx/html/bk/kubish*.db

2.sudo nano /etc/crontab

  • 9 * * * root /home/backup_kubish.sh

3.# permission for folder cd /usr/share/nginx/html/bk/
sudo chown -R postgres:postgres bk/

  1. generate ssh-key without phrase

  2. add sske-key.pub to authorized_keys on remote server
    ===========================================================

#killed process msg
dmesg

nginx uwsgi Permission denied

chown -R www-data:www-data /var/lib/nginx

adsense

https://github.com/googleads/googleads-adsense-examples/tree/master/python/v1.4

check host

curl -I habr.su

———————————

traffic ddos statistic

http://www.binarytides.com/linux-commands-monitor-network/

sudo netwatch -e eth0 -nt

sudo pktstat -i eth0 -nt

————————
504 timeout
nginx app settings:
proxy_connect_timeout 600;
proxy_send_timeout 600;
proxy_read_timeout 600;
send_timeout 600;
uwsgi_read_timeout 600;

————

SSL

https://certbot.eff.org/lets-encrypt/ubuntutrusty-nginx

https://www.digitalocean.com/community/tutorials/how-to-secure-nginx-with-let-s-encrypt-on-ubuntu-14-04

ssl generate

certbot-auto certonly -a webroot --webroot-path=/webs/adg/www/static/ -d adglink.com -d cli.adglink.com -d api.adglink.com -d post.adglink.com -d adg.zavod-it.com -d cab.adglink.com -d ru.adglink.com -d ru.cab.adglink.com

error: <class 'socket.error'>, [Errno 111] Connection refused: file: /usr/lib/python2.7/socket.py line: 224

sudo touch /var/run/supervisor.sock
sudo chmod 777 /var/run/supervisor.sock
sudo service supervisor restart

shutdown linux

sudo shutdown -h now

Django models diagrams

http://django-extensions.readthedocs.io/en/latest/graph_models.html#templates

limit open files

ulimit -n

git subtree

git subtree split -P dir2/ -b temp-br
git rm -r dir3/
git read-tree --prefix=dir3/ -u dir3_branch

git subproject issue

git rm --cached apps/checker/observer/
git rm --cached template_static/incobonus/

$ echo $LANG
en_US.utf8
$ echo $LC_ALL
C
$ python -c "print (u'voil\u00e0')"
Traceback (most recent call last):
File "", line 1, in
UnicodeEncodeError: 'ascii' codec can't encode character u'\xe0' in position 4: ordinal not in range(128)
$ export LC_ALL='en_US.utf8'

boot

https://rufus.akeo.ie

fix error -bash: /usr/bin/lsb_release: /usr/bin/python3: bad interpreter: No such file or directory

sudo ln -s /usr/bin/python3.6 /usr/bin/python3

screen

https://blog.onetwentyseven001.com/linux-screen/#.WpL45GZ7HR0
#alt
nohub

count nginx_error.log

awk {'print $1'} nginx_access.log | sort | uniq -c | sort -nr | head

nginx access

cat nginx_access.log | cut -d '"' -f3 | cut -d ' ' -f2 | sort | uniq -c | sort -rn

404 nginx

awk '($9 ~ /404/)' nginx_access.log | awk '{print $7}' | sort | uniq -c | sort -rn

most requested url

awk -F" '{print $2}' nginx_error.log | awk '{print $2}' | sort | uniq -c | sort -nr | head

https://www.revsys.com/12days/varnish/

#postgres net
nano /etc/postgresql/9.6/main/postgresql.conf

#fedora autorun

local tunnel

https://ngrok.com

#auth log
/var/log/auth.log

#fabric
http://chousensha.github.io/blog/2017/04/03/remote-task-automation-with-fabric/

ginicorn

http://michal.karzynski.pl/blog/2013/06/09/django-nginx-gunicorn-virtualenv-supervisor/

search str in file and show next 2 lines

grep -A 2 "sale_tickets" imports.log

https django-djagger client error

add to nginx
location / {
# ...
proxy_set_header X-Forwarded-Proto $scheme;
}

@zavod
Copy link
Author

zavod commented May 18, 2019

ссылка на документы

ln -s ~/Dropbox/ALP/business/ZAVOD/Клиенты/boxing2019/ docs

@zavod
Copy link
Author

zavod commented May 21, 2019

check alias path, symlink

readlink -f media

@zavod
Copy link
Author

zavod commented Jun 6, 2019

sudo service memcached restart

@zavod
Copy link
Author

zavod commented Jun 12, 2019

check dns servers

dig NS example.com

@zavod
Copy link
Author

zavod commented Nov 6, 2019

find the process by name

ps aux | grep -v pts | grep sms_telegram_bot.py

@zavod
Copy link
Author

zavod commented Nov 22, 2019

show mysql tables size

SELECT 
     table_schema as `Database`, 
     table_name AS `Table`, 
     round(((data_length + index_length) / 1024 / 1024), 2) `Size in MB` 
FROM information_schema.TABLES 
ORDER BY (data_length + index_length) DESC;

@zavod
Copy link
Author

zavod commented Dec 9, 2019

check ns servers

dig NS rich-company.net

https://mxtoolbox.com/SuperTool.aspx#

@zavod
Copy link
Author

zavod commented Dec 30, 2019

#Mac setup

python3  

sudo easy_install pip 

sudo pip3 install virtualenv   

python3 -m venv .env3

# install docker https://docs.docker.com/docker-for-mac/install/

in need to work with postgis

install brew

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

install gdal

brew install gdal

@zavod
Copy link
Author

zavod commented Dec 30, 2019

manuals
https://docs.docker.com/v1.5/compose/django/
https://habrahabr.ru/post/272811/
http://blog.netczuk.pl/debugging-dockerized-python-django-app-with-pycharm/

docker version

docker -v

docker ps
docker images
docker-machine ls
docker-machine ssh default

create machine

docker-machine create --driver virtualbox default

remove machine

docker-machine rm swarm-agent-00

remove files of machine

rm -rf ~/.docker/machine/machines/public01

docker stop container

docker kill #

start/run docker-machine

docker-machine start swarm-master

#change active machine
eval $(docker-machine env scodev)

docker-compose build web

docker-compose up

docker-compose stop && docker-compose rm -f

#migrations
docker-compose run web /usr/local/bin/python manage.py migrate
docker-compose -f docker-compose-development.yml run django /usr/local/bin/python manage.py makemigrations report
docker-compose -f docker-compose-development.yml run web /usr/local/bin/python manage.py migrate

docker-compose -f docker-compose-release.yml run django /usr/local/bin/python manage.py migrate

create superuser

docker-compose run web /usr/local/bin/python manage.py createsuperuser

#macOS virtualbox
https://www.jetbrains.com/help/pycharm/5.0/configuring-remote-interpreters-via-docker.html

docker-compose stop && docker-compose rm -f && docker-compose build --no-cache web && docker-compose up -d

stop all containers

docker kill $(docker ps -q)

remove container

docker ps -a
docker rm -f 83c70025ba2c
sudo docker rm sco_web_run_2

docker ps -as

#remove images
docker rmi -f kldsfjkdjf

start helper

./build-core-django.sh

#start dev compose file
docker-compose -f docker-compose-development.yml up

start production

docker-compose -f docker-compose-release.yml up

start production assinchonly

docker-compose -f docker-compose-release.yml up -d

stop processes

docker-compose stop

check html

curl http://192.168.99.100:8080

#To see which environment variables are available to the web service, run:
docker-compose run web env

#logs
docker-compose logs

WINDOWS

https://msdn.microsoft.com/virtualization/hyperv_on_windows/quick_start/walkthrough_install

http://jayvilalta.com/blog/2016/04/28/installing-docker-toolbox-on-windows-with-hyper-v-installed/

env info

docker-compose run web env

logs

docker-compose logs

del old sha

docker-compose -f docker-compose-development.yml down

compile locale

docker-compose -f docker-compose-development.yml run django django-admin.py makemessages --all

docker-compose -f docker-compose-development.yml run django django-admin.py compilemessages

docker ssh

docker exec -it 70c6cd75522a bash

Delete all containers

docker rm $(docker ps -a -q)

Delete all images

docker rmi $(docker images -q)

#stop all docker containers
docker stop $(docker ps -a -q)

postgres backup

docker exec -it $(docker-compose ps -q postgres) pg_dump -postgres -p 5432 -U postgres sco > backup.sql

#swarm
#create virtualbox cluster
https://docs.docker.com/swarm/install-w-machine/

eval "$(docker-machine env --swarm swarm-master)"

swarm nodes

docker node ls

regenerate certificate swarm

docker-machine regenerate-certs swarm-agent-00

run tests

docker-compose -f docker-compose-development-2.yml run django_web /usr/local/bin/python manage.py test

docker network

docker network inspect $(docker network ls -q)

size docker

df -h /var/lib/docker/

empry table

docker ps
docker exec -it 70c6cd75522a bash
su postgres
psql
\connect postgres;
select count(*) from django_session;
TRUNCATE TABLE django_session;

docker no left space

docker volume rm $(docker volume ls -qf dangling=true)
docker volume ls -qf dangling=true
docker volume ls
docker rmi $(docker images | grep '^' | awk '{print $3}')

@zavod
Copy link
Author

zavod commented Mar 2, 2020

git rollback to commit

git reset --hard cedc856
git push --force origin master

@zavod
Copy link
Author

zavod commented Mar 18, 2020

@zavod
Copy link
Author

zavod commented Apr 4, 2020

brew find path

brew --prefix qt

@zavod
Copy link
Author

zavod commented May 13, 2020

@zavod
Copy link
Author

zavod commented Dec 26, 2020

MISCONF Redis is configured to save RDB snapshots, but it is currently not able to persist on disk. Commands that may modify the data set are disabled, because this instance is configured to report errors during writes if RDB snapshotting fails (stop-writes-on-bgsave-error option). Please check the Redis logs for details about the RDB error.
2020-12-26 05:42:07,663 ERROR Exception inside application: MISCONF Redis is configured to save RDB snapshots, but it is currently not able to persist on disk. Commands that may modify the data set are disabled, because this instance is configured to report errors during writes if RDB snapshotting fails (stop-writes-on-bgsave-error option). Please check the Redis logs for details about the RDB error.

solution

redis-cli
config set stop-writes-on-bgsave-error no

restart

macOS (brew): brew services restart redis.
Linux: sudo service redis restart / sudo systemctl restart redis
Windows: Windows + R -> Type services.msc, Enter -> Search for Redis then click on restart.

@zavod
Copy link
Author

zavod commented Jun 15, 2021

Find process

grep -iR "smartsreda" /etc

@zavod
Copy link
Author

zavod commented Aug 25, 2021

display permissions of files and date

ls -l

@zavod
Copy link
Author

zavod commented Aug 26, 2021

memory usage by process

ps -o pid,user,%mem,command ax | sort -b -k3 -r

@zavod
Copy link
Author

zavod commented Aug 27, 2021

cpu usage by process

ps -o pid,user,%cpu,command ax | sort -b -k3 -r

@zavod
Copy link
Author

zavod commented Dec 20, 2021

add second ssh-key

cat id_rsa_one.pub >> authorized_keys

replace key

cat id_rsa_one.pub > authorized_keys

add second ssh-key to bitbucket

eval ssh-agent -s
ssh-add ~/.ssh/id_rsa_new

@zavodIT
Copy link

zavodIT commented Feb 22, 2023

Redis

set key

SET key1 "Hello"

get key value

get key1

del key

DEL key1

STREAM

add to stream

XADD mystream * name Sara surname OConnor

read from stream

XREAD COUNT 1 STREAMS mystream 3

del from stream

XTRIM mystream MAXLEN 0

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment