ssh

put public key to server ssh-keygen scp ~/.ssh/id_rsa.pub {user}@{server}:~ ssh {user}@{server} cat ~/id_rsa.pub>>~/.ssh/authorized_keys chmod 700 ~/.ssh chmod 600 ~/.ssh/authorized_keys login used private key ssh -i {private key} {user}@{server}

よく使うスクリプト

/var/wwwとDBを一括バックアップ #!/bin/sh if [ -e ~/www ]; then rm -rf ~/www fi echo “copy /var/www” sudo cp -R /var/www ~ echo “chown” sudo chown -R {user}:{group} ~/www echo “mysql dump” sudo mysqldump -u root -p -x –all-databases>~/www/backup.sql echo “compress tar” sudo tar cvf ~/www.tar.gz ~/www   rsyncでssh先にコピー aはパーミッションをそのままコピー。rはディレクトリを再帰的にコピー rsync -ar –delete {from folder} {user}@{host}:{to folder}

Linuxプロセス

BACKGROUND RUN COMMAND IN BACKGROUND add & at rear command {command} & or press Ctrl+Z key that terminate front process LIST BACKGROUND JOBS jobs [1] # <– that is job ID or ps|grep {command} RESTART BACKGROUND JOB Ctrl+Z that terminate process restart it is following command bg %{job ID} RE-RUN COMMAND IN FRONT fg %{job…

Linuxネットワーク

トラブルシューティング # 接続先のポートが開いているかスキャン nc -zv {host} {port} # もしくはtcptraceroute tcptraceroute {host} {port} # ホストとpingで繋がるか確認 ping {host} # ホストまでの経路を確認 traceroute {host} # この時点でアクセスができないなら多分物理的繋がっていない # pingが繋がるなら経路にあるファイアウォールかシステムのファイアウォールを確認 # firewallの状態を確認enableとかならdisableにする sudo ufw status # 経路にあるスイッチやルーターのファイアウォールを確認する # ファイアウォールがないならアプリケーションに原因がある可能性が高い # アプリケーションの設定を確認する # 特にbind-addressたる項目が127.0.0.0とかだとlocalhostからの通信しか許可しなかったりする # そこでアドレスを0.0.0.0とかにする # アプリケーションが接続を確立できているかを確認 netstat -a  

Linuxデーモン

DAEMON START DAEMON sudo service {daemon name} start CHECK STATUS sudo service {daemon name} status AUTO LAUNCHING sudo apt-get install sysv-rc-conf sudo sysv-rc-conf {daemon name} on