-
-
Save zavod/a8265e4ee4eec077ecb30dc770f31e85 to your computer and use it in GitHub Desktop.
#alp gist |
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
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
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.
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
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
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
- init swarm on manager
docker swarm init
- join on worker
docker swarm join --token SWMTKN-1-4s0li1l19yhsay92h0jemp1f922cxxzzha3sudwgkw6xd6eyyl-XXXXXXXXXXXX 207.180.240.180:2377
- open ports https://www.digitalocean.com/community/tutorials/how-to-configure-the-linux-firewall-for-docker-swarm-on-ubuntu-16-04
- generate ssh key
ssh-keygen -t rsa -C “alp@zavode.ru”
- add ssh-key on rep
- git pull on worker
disc size
df -h
du -ch папка
du -ch
du -ch --max-depth=1 | sort -n -r
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
-
add record
webs@213.159.192.66/usr/local/etc/nginx/sites-enabled
/usr/local/etc/rc.d/nginx restart -
copy uwsgi from another project
-edit it -
Add .env
virtualenv --system-site-packages .env -
copy from .env/lib/python2.7/site-packages by dev
-
add folders www, logs
-
создаем БД, создаем юзера
---------------------Поиск
[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
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 ======================================================
- 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/
-
generate ssh-key without phrase
-
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
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
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
#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;
}
ссылка на документы
ln -s ~/Dropbox/ALP/business/ZAVOD/Клиенты/boxing2019/ docs
check alias path, symlink
readlink -f media
sudo service memcached restart
check dns servers
dig NS example.com
find the process by name
ps aux | grep -v pts | grep sms_telegram_bot.py
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;
#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
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}')
git rollback to commit
git reset --hard cedc856
git push --force origin master
brew find path
brew --prefix qt
windows git
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.
Find process
grep -iR "smartsreda" /etc
display permissions of files and date
ls -l
memory usage by process
ps -o pid,user,%mem,command ax | sort -b -k3 -r
cpu usage by process
ps -o pid,user,%cpu,command ax | sort -b -k3 -r
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
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
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