Skip to content

Instantly share code, notes, and snippets.

@denoww
Last active January 19, 2024 17:10
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 denoww/4a53c2fe43e67979a433f6ef446d11a2 to your computer and use it in GitHub Desktop.
Save denoww/4a53c2fe43e67979a433f6ef446d11a2 to your computer and use it in GitHub Desktop.
.bash_aliases
update_alias=false
for i in $*; do
if [ "$i" == "update_alias" ] ; then
update_alias=true
continue
fi
echo "Command not found $i"
done
alias scaliasupdate='sudo rm ~/.bash_aliases; sudo wget https://gist.githubusercontent.com/denoww/4a53c2fe43e67979a433f6ef446d11a2/raw -O ~/.bash_aliases && source ~/.bash_aliases update_alias'
# docker
r=_rails_6 # criado pois já migramos os servidores por rails 6 e queremos deixar os alias preparado pro rails 7
alias sccd='cd ~/workspace/seucondominio'
alias scdockerrun='sccd; docker-compose run'
alias scrunner='scdockerrun runner'
alias scrunweb='scdockerrun web${r}'
alias scrails='scrunner bundle exec rails'
alias scrake='scrunner bundle exec rake'
alias scrakeassetsclean='scrake assets:clean'
alias scs='scrunner rm /erp/tmp/pids/server.pid; docker-compose up --force-recreate'
alias scc='sccd; scrails c'
alias sccsandbox='sccd; scrails c --sandbox'
alias scdbconsole='sccd; scrails dbconsole'
alias scpsql='scpsql'
alias scg='sccd; scrails g'
alias scd='sccd; scrails d'
alias scseeddev='scrake sc:seed_development'
alias scseed='scseeddev'
#alias scseed='scrake sc:seed'
alias scseedtest='scrake sc:seed_test'
alias scdbdrop='scrake db:drop; scrake db:mongoid:drop'
alias scmigrate='scrake sc:db:migrate_with_dependents'
alias scmigrateredo='scrake db:migrate:redo'
alias scrollback='scrake sc:db:rollback_with_dependents'
alias scsetupdependents='scrake sc:db:pg:setup_dependents'
alias scmigrationstatus='scrake db:migrate:status'
alias scbundle='sccd; scrunner bundle'
alias scbundleinstall='sccd; scbundle install'
# alias scbundleinstall='sccd; sudo rm -rf vendor/cache; bundle install; scdockerrun web${r} bundle install; scdockerrun worker${r} bundle install'
# alias scbundleinstall='sccd; bundle install; scdockerrun bundle bundle install; scdockerrun web${r} bundle install; scdockerrun worker${r} bundle install'
# alias scbundleinstall='sccd; scdockerrun bundle bundle install'
alias scredis='sccd; scdockerrun redis redis-cli'
alias scrediclear='scredis -h redis flushall'
#alias scbuildos='sccd; docker build -t public.ecr.aws/q4n5m2p1/seucondominio-os -f Dockerfile.os .'
alias scbuildos='sccd; ./.scripts/sccommands.sh ecr_build_os'
alias scbuilduploados='sccd; ./.scripts/sccommands.sh ecr_build_upload_os'
# limpeza de docker
alias scdockerimagesclear='docker rmi -f $(docker images --filter "dangling=true" -q)'
alias scdockervolumesclear='docker volume rm $(docker volume ls --filter "dangling=true" -q)'
alias scdockerclear='scdockerimagesclear; scdockervolumesclear'
# mudar pra rails 4 ou rails rails 6
# alias _scchangerails='git pull; cp docker-compose${r}.yml docker-compose.yml; cp Dockerfile${r} Dockerfile'
# alias r4='r=_rails_6'
# alias r6='r=_rails_6'
# alias scchangerails4='r4; sccd; git co tools; _scchangerails'
# alias scchangerails6='r6; sccd; git co rails_6; _scchangerails;'
# alias scs6='r6; scs'
# alias scs4='r4; scs'
# alias scc6='r6; scc'
# alias scc4='r4; scc'
# alias sctoolsinproductionr6="sctoolsinproduction; scgitmerge tools rails_6 cloud66_rails6"
# git
alias scgitmerge="sccd; bash .git-merge.sh"
alias sctoolsinproduction="scgitmerge tools master fargate"
alias sctoolsinstaging="scgitmerge tools malote_protocolo staging"
# git log
alias scmeuscommits="git log --pretty=oneline --author=$(git config --global user.name)"
alias scmeuscommitstoday="git log --pretty=oneline --since=am --abbrev-commit --author=$(git config --global user.name)"
alias scmeuscommitsyesterday="git log --pretty=oneline --since=$(date -d "yesterday" '+%Y-%m-%d') --until=am --abbrev-commit --author=$(git config --global user.name)"
alias scmeuscommitssinceyesterday="git log --pretty=oneline --since=$(date -d "yesterday 00:00" '+%Y-%m-%d') --abbrev-commit --author=$(git config --global user.name)"
alias scmeuscommitssincefourday="git log --pretty=oneline --since=$(date -d "4 day ago" '+%Y-%m-%d') --abbrev-commit --author=$(git config --global user.name)"
# scsip
alias sctestc='sccd; scrails c test'
# test
alias sctestc='sccd; scrails c test'
alias sctestmigrate='scrake db:migrate RAILS_ENV=test'
alias sctestseed='scrake sc:seed RAILS_ENV=test'
alias sctestdrop='scrake db:drop RAILS_ENV=test; scrake db:mongoid:drop RAILS_ENV=test'
# scsip
alias scsipcd='cd ~/workspace/scsip/'
alias scsips='scsipcd; npm run start_dev'
alias scsipsprod='scsipcd; npm run start_prod'
alias scsipsprodpm2='scsipcd; npm run pm2_start_prod'
alias scsipdeploy='echo "excute o comando abaixo"; echo "---------------------"; echo "cd ~/workspace/scsip; git pull; npm run pm2_start_prod; pm2 logs SCSIP"; echo "---------------------"; echo "---------------------"; portariaproductionssh'
alias scsipproductionlogs='portariaproductionssh "bash -ic \"pm2 logs SCSIP\""'
# staging
alias herokurun='heroku run'
alias herokurake='herokurun rake'
alias scstagingc='herokurun rails c -a staging-seucondominio'
alias scstagingmigrate='herokurake sc:db:migrate_with_dependents -a staging-seucondominio'
alias scstagingmigrationstatus='herokurake db:migrate:status -a staging-seucondominio'
alias scstagingrollback='herokurake sc:db:rollback_with_dependents -a staging-seucondominio'
alias scstaginglogs='heroku logs -t -a staging-seucondominio'
alias scstagingrestart='heroku restart -a staging-seucondominio'
alias scstagingbash='herokurun bash -a staging-seucondominio'
alias scstagingsetupdependents='sccd; herokurake sc:db:pg:setup_dependents -a staging-seucondominio'
alias scstagingdbconsole='heroku pg:psql -a staging-seucondominio'
# production dentro dos servidores
dirprod='/var/deploy/seucondominio*/web_head'
unset prod_cmds
declare -A prod_cmds
prod_cmds['cd']='cd $dirprod/current/'
prod_cmds['c']='scproductioncd; bundle exec rails c'
prod_cmds['dbconsole']='scproductioncd; bundle exec rails dbconsole'
prod_cmds['rake']='scproductioncd; bundle exec rake'
prod_cmds['setupdependents']='scproductionrake sc:db:pg:setup_dependents'
prod_cmds['mongocreateindexes']='scproductionrake db:mongoid:create_indexes'
prod_cmds['logs']='tail -f $dirprod/shared/log/production.log;'
prod_cmds['migrationstatus']='scproductionrake db:migrate:status'
# removendo
rm -f ~/.bash_aliases_cx_cmds
for prod_cmd in ${!prod_cmds[@]}; do
echo "alias scproduction$prod_cmd=\"${prod_cmds[$prod_cmd]}\"" >> ~/.bash_aliases_cx_cmds
done
# carregando arquivo
. ~/.bash_aliases_cx_cmds
ulimit_cmd='tamanho=102400; echo "* soft nofile $tamanho" >> /etc/security/limits.conf; echo "* hard nofile $tamanho" >> /etc/security/limits.conf; echo "session required pam_limits.so" >> /etc/pam.d/common-session; ulimit -n $tamanho; echo $tamanho'
alias sculimitfileopens='sudo su -c "$ulimit_cmd"'
# production
# alias scweb='cx ssh -s 'seucondominio_web_r6' -e production wb1'
# alias scweb1='cx ssh -s 'seucondominio_web_r6' -e production wb1'
# alias scweb2='cx ssh -s 'seucondominio_web_r6' -e production wb2'
# alias scweb3='cx ssh -s 'seucondominio_web_r6' -e production wb3'
# alias scworker1='cx ssh -s 'seucondominio_worker_r6' -e production wk-r6-1'
# alias scworker2='cx ssh -s 'seucondominio_worker_r6' -e production wk-r6-2'
# alias scworker3='cx ssh -s 'seucondominio_worker_r6' -e production wk-r6-3'
# if [ $update_alias == true ]; then
# # removendo
# rm -f ~/.bash_aliases_cx_ssh
# unset run_commands
# declare -A run_commands
# run_commands['htop']='htop'
# has_cx_command="$(command -v cx)"
# if [ $has_cx_command ]; then
# stacks_list="$(cx stacks list | grep -P '^(?!NAME)' | grep -Eo '^\S*')"
# create_alias_cx () {
# alias_command="cx ssh -s '$1' -e production '$2'"
# echo "Creating alias: $3=\"$alias_command\""
# echo "alias $3=\"$alias_command\"" >> ~/.bash_aliases_cx_ssh
# for prod_cmd in ${!prod_cmds[@]}; do
# alias_command='cx run -s '$1' -e production -svr '$2' -i \"bash -ic 'scproduction$prod_cmd'\"'
# echo "Creating alias: $3$prod_cmd=\"$alias_command\""
# echo "alias $3$prod_cmd=\"$alias_command\"" >> ~/.bash_aliases_cx_ssh
# done
# for run_cmd in ${!run_commands[@]}; do
# alias_command='cx run -s '$1' -e production -svr '$2' -i \"'${run_commands[$run_cmd]}'\"'
# echo "Creating alias: $3$run_cmd=\"$alias_command\""
# echo "alias $3$run_cmd=\"$alias_command\"" >> ~/.bash_aliases_cx_ssh
# done
# }
# for stack in $stacks_list; do
# echo ""
# echo "=========== stack '$stack' ==========="
# echo ""
# name_serv=$(echo "$stack" | sed 's/seucondominio_//' | sed 's/_.*$//')
# servers_list="$(cx servers list -s $stack | grep -Eo '^\S*')"
# for server in $servers_list; do
# echo ""
# echo "=========== server '$server' ==========="
# echo ""
# echo "" >> ~/.bash_aliases_cx_ssh
# echo "# Alias $stack - $server" >> ~/.bash_aliases_cx_ssh
# echo "" >> ~/.bash_aliases_cx_ssh
# numb_serv=$(echo "$server" | rev | cut -c1 | tr -dc '0-9')
# if [ "$numb_serv" == "" ]; then
# numb_serv=$server
# name_serv=""
# fi
# if [ "$numb_serv" == "1" ]; then
# alias_name="sc$name_serv"
# create_alias_cx "$stack" "$server" "$alias_name"
# fi
# alias_name="sc$name_serv$numb_serv"
# create_alias_cx "$stack" "$server" "$alias_name"
# done
# done
# fi
# fi
# if [ -f ~/.bash_aliases_cx_ssh ]; then . ~/.bash_aliases_cx_ssh; fi
# linker
alias linkercd='cd ~/workspace/sc_linker/'
alias linkerminipcs='linkercd; sudo npm run nodemon_dev' # sudo por causa do nmap pra varrer macaddress
# alias linkerinspect='linkercd; find -name "*.coffee" -exec coffee -c {} \;; sleep 1; node --inspect=9229 server.js'
alias linkerminipcinspect='linkerminipcs'
alias linkerminipcreset='linkercd; sudo npm run reset_dev'
# linker minipc production
alias linkerminipcprodbuildfirmware='linker_service build_firmware'
alias linkerminipcprodbuildandrelease='linker_service build_and_release'
alias linkerminipcprods='linker_service start'
alias linkerminipcprodstart='linker_service start'
alias linkerminipcprodstop='linker_service stop'
alias linkerminipcprodrestart='linker_service restart'
alias linkerminipcprodlogs='linker_service logs'
alias linkerfirmwarecd='cd /var/lib/linker_firmware'
# linkercloud
alias linkerclouds='linkercd; sudo npm run nodemon_linkercloud' #
alias linkercloudprodupdatecode='for dns in $(aws ec2 describe-instances --filters "Name=tag:tipo,Values=portaria-production" --query 'Reservations[].Instances[].PublicDnsName' --output text); do curl -XGET http://$dns/npm_run?cmd=linker_deploy ; done'
alias linkercloudproddeploy='linkercd; git pull; git push; linkercloudprodupdatecode'
alias linkercloudprodlogs='portariaproductionssh "bash -ic \"pm2 logs LINKERCLOUD\""'
alias linkercloudprodc='echo -e "Digite no chrome: chrome:inspect\nClique em DevTools for Node\nAdicione localhost:9730\n`tput setaf 2`Console Conectado -> Utilize o console do Chrome para debugar\n`tput setaf 2`================="; portariaproductionssh -N -L 9730:localhost:9230'
# portaria
alias portariacd='cd ~/workspace/portaria/'
alias portarias='portariacd; npm run nodemon_portaria_with_pinger'
# alias portariainspect='portariacd; find -name "*.coffee" -exec coffee -c {} \;; sleep 1; node --inspect=9229 server.js'
alias portariainspect='portarias'
alias portariapublichost='~/./ngrok start -all'
# portaria production
alias portariaproductionssh='ssh -i "~/portaria_staging_ssh_pem_key.pem" -t ubuntu@52.204.220.191'
alias portariaproductionlogs='portariaproductionssh "bash -ic \"pm2 logs portaria\""'
alias portariaproductionc='echo -e "Digite no chrome: chrome:inspect\nClique em DevTools for Node\nAdicione localhost:9250\n`tput setaf 2`Console Conectado -> Utilize o console do Chrome para debugar\n`tput setaf 2`================="; portariaproductionssh -N -L 9250:localhost:9229'
alias portariaproductionrestartpm2='portariaproductionssh "bash -ic \"pm2 restart all\""'
alias portariagitmerge="portariacd; bash .git-merge.sh"
alias portariatoolsinproduction="portariagitmerge tools master"
alias sc_hosts_portarias_ec2='aws ec2 describe-instances --filters "Name=tag:tipo,Values=portaria-production" --query 'Reservations[].Instances[].PublicDnsName' --output text'
alias portariaproductionfilainiciar='echo "Iniciando Fila...";for dns in $(sc_hosts_portarias_ec2); do curl -XGET http://$dns/fila_comando?running=true ; done; echo'
alias portariaproductionfilaparar='echo "Parando Fila...";for dns in $(sc_hosts_portarias_ec2); do curl -XGET http://$dns/fila_comando?running=false ; done; echo'
alias portariaproductionrebootmachine='portariaproductionfilaparar;sleep 10;portariaproductionssh "bash -ic \"sudo reboot\""; echo'
alias portariaproductionupdatecode='for dns in $(sc_hosts_portarias_ec2); do curl -XGET http://$dns/npm_run?cmd=portaria_deploy ; done'
alias portariaproductiondeploy='portariatoolsinproduction; portariaproductionupdatecode'
alias sctunnel1ssh='ssh -i "~/scTunnel.pem" -t ubuntu@sctunnel1.seucondominio.com.br; echo "============"; echo "necessário arquivo ~/scTunnel.pem que tem em https://github.com/denoww/sctunnel"; echo "============"'
# cameras
alias sccamerasproductionssh='ssh -i "~/portaria_staging_ssh_pem_key.pem" -t ubuntu@23.22.12.192'
alias sccamerasproductionrestartmachine='sccamerasproductionssh "bash -ic \"sudo reboot\""'
alias sccamerasproductionrestartservicertsp='sccamerasproductionssh "bash -ic \"sudo systemctl stop sccameras; sudo systemctl start sccameras\""'
# midiaindoor
alias midiaindoorcd='cd ~/workspace/midia_indoor_player/'
alias midiaindoors='midiaindoorcd; npm run start'
alias midiaindoorsfullscreen='midiaindoorcd; npm run start_fullscreen'
alias midiaindoorcloudssh='sccamerasproductionssh'
alias midiaindoorcloudlogs='midiaindoorcloudssh "bash -ic \"pm2 logs MIDIAINDOOR\""'
alias midiaindoorclouddeploy='echo "O deploy acontece sempre que fizer um push no github (em toda branch infelizmente)"'
# portaria staging
alias portariastagingssh='ssh -i "~/portaria_staging_ssh_pem_key.pem" -t ubuntu@ec2-54-85-211-38.compute-1.amazonaws.com'
alias portariastaginglogs='portariastagingssh "bash -ic \"pm2 logs\""'
alias portariastagingc='echo -e "Digite no chrome: chrome:inspect\nClique em DevTools for Node\nAdicione localhost:9250\n`tput setaf 2`Console Conectado -> Utilize o console do Chrome para debugar\n`tput setaf 2`================="; portariastagingssh -N -L 9250:localhost:9229'
alias portariastagingrestart='portariastagingssh "bash -ic \"pm2 restart all\""'
alias portariagitmerge="portariacd; bash .git-merge.sh"
alias portariatoolsinstaging="portariagitmerge portaria_acessos staging"
alias portariastagingupdatecode='for dns in $(aws ec2 describe-instances --filters "Name=tag:tipo,Values=portaria-staging" --query 'Reservations[].Instances[].PublicDnsName' --output text); do curl -XGET http://$dns/deploy?npm_script=update_code_and_restart ; done'
alias portariastagingdeploy='portariatoolsinstaging; portariastagingupdatecode'
# van
alias vancd='cd ~/workspace/sc-sig-van/'
alias vans='vancd; npm run dev'
alias vanpublichost='~/./ngrok start -all'
# van production
#alias vanproductionssh='ssh -i "~/portaria_staging_ssh_pem_key.pem" -t Administrator@34.231.164.165'
alias vanproductionssh='ssh -i "~/portaria_staging_ssh_pem_key.pem" Administrator@3.232.210.242'
alias vanproductionlogs='vanproductionssh "pm2 logs"'
alias vanproductionc='echo -e "Digite no chrome: chrome:inspect\nClique em DevTools for Node\nAdicione localhost:9250\n`tput setaf 2`Console Conectado -> Utilize o console do Chrome para debugar\n`tput setaf 2`================="; vanproductionssh -N -L 9250:localhost:9229'
alias vanproductionrestart='vanproductionssh "pm2 restart all"'
alias vangitmerge="vancd; bash .git-merge.sh"
alias vantoolsinproduction="vangitmerge master"
alias vanproductionupdatecode='for dns in $(aws ec2 describe-instances --filters "Name=tag:tipo,Values=van-production" --query 'Reservations[].Instances[].PublicDnsName' --output text); do curl -XGET http://$dns/admin/deploy?npm_script=deploy ; done'
alias vanproductiondeploy='vantoolsinproduction; vanproductionupdatecode'
# atalhos do git
git config --global alias.co checkout
git config --global alias.br branch
git config --global alias.ci commit
git config --global alias.st status
# descobir meus ips
ETHE_INTERFACE=$(nmcli device | awk '$2=="ethernet" && $4=="Wired"{print $1}')
WIFI_INTERFACE=$(nmcli device | awk '$2=="wifi"{print $1}')
alias cabo="nmcli device show $ETHE_INTERFACE | grep IP4.ADDRESS | cut -d: -f2 | cut -d/ -f1 | sed 's/^ *//g'"
alias wifi="nmcli device show $WIFI_INTERFACE | grep IP4.ADDRESS | cut -d: -f2 | cut -d/ -f1 | sed 's/^ *//g'"
alias meus_ips='echo -e "$(tput bold)\x1b[38;5;40mcabo: \x1b[0m$(cabo)" && echo -e "$(tput bold)\x1b[38;5;220mwifi: \x1b[0m$(wifi)"'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment