Skip to content

Instantly share code, notes, and snippets.

@ericxyan
Last active January 9, 2017 04:36
Show Gist options
  • Select an option

  • Save ericxyan/ff6182309cdd4492ed7735cdbd2d72c5 to your computer and use it in GitHub Desktop.

Select an option

Save ericxyan/ff6182309cdd4492ed7735cdbd2d72c5 to your computer and use it in GitHub Desktop.
export ANACONDA_HOME=/app/anaconda3
export JAVA_HOME=/app/java/jdk1.8.0_111
export PATH=$PATH:$ANACONDA_HOME/bin:$JAVA_HOME/bin
getPid(){
local PROCESS_NAME=$1
local PID=`ps -ef | grep ${PROCESS_NAME} | grep -v "grep" | awk '{print $2}'`
echo $PID
}
statusProcess () {
local PROCESS_NAME=$1
local PID=$(getPid "$PROCESS_NAME")
if [ -n "$PID" ]; then
echo "[$PID]$PROCESS_NAME is running"
else
echo "$PROCESS_NAME is not running"
fi
}
startProcess (){
local PROCESS_HOME="$1"
local PROCESS_NAME=$2
local ARGS=$3
local APP="$PROCESS_HOME/bin/$PROCESS_NAME"
local LOG_HOME="/logs"
local LOG_DIR="$LOG_HOME/$PROCESS_NAME"
local LOG_FILE="$LOG_DIR/${PROCESS_NAME}.$(date +'%F').log"
mkdir -p "$LOG_DIR"
nohup $APP $ARGS > "$LOG_FILE" &
}
stopProcess(){
local PROCESS_NAME=$1
local PID=$(getPid "$PROCESS_NAME")
if [ -n "$PID" ]; then
echo "Killing $PID"
kill -9 $PID
echo "Killed"
else
echo "$PROCESS_NAME is not running"
fi
}
start_jupyter_notebook(){
local PROCESS_HOME="/app/anaconda3"
local PROCESS_NAME="jupyter"
local ARGS="notebook --ip=0.0.0.0"
local NOTEBOOK_HOME="$HOME/notebooks"
( cd $NOTEBOOK_HOME && startProcess "$PROCESS_HOME" "$PROCESS_NAME" "$ARGS" ) &
}
alias startnb=start_jupyter_notebook
alias stopnb="stopProcess 'jupyter'"
alias statusnb="statusProcess 'jupyter'"

Commands

  • Count lines in a file
wc -l <filename>
  • copy public key to remote server
# Generate a key pair
ssh-keygen
# Copy key to remote server
ssh-copy-id id@server
password
# Test
ssh id@server
  • add ssh fingerprint to known_hosts
ssh-keyscan host1 host2 >> ~/.ssh/known_hosts
#!/bin/bash
SCRIPT_NAME="${0##*/}"
PROCESS_NAME="kibana"
PROCESS_HOME="/app/kibana-5.0.2-linux-x86_64"
LOG="$PROCESS_HOME/logs/$PROCESS_NAME.$(date +'%F').log"
APP="$PROCESS_HOME/bin/$PROCESS_NAME"
PID=`ps -ef | grep ${PROCESS_NAME} | grep -v "grep" | grep -v "$SCRIPT_NAME"| awk '{print $2}'`
usage(){
echo "Usage: <[start], [status], [stop]>"
}
statusProcess(){
if [ -n "$PID" ]; then
echo "[$PID]$PROCESS_NAME is running"
else
echo "$PROCESS_NAME is not running"
fi
}
startProcess(){
nohup $APP > $LOG &
echo $!
}
stopProcess(){
if [ -n "$PID" ]; then
echo "Killing $PID"
kill -9 $PID
echo "Killed"
else
echo "$PROCESS_NAME is not running"
fi
}
case "$1" in
"start")
startProcess
;;
"status")
statusProcess
;;
"stop")
stopProcess
;;
*)
usage
;;
esac
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment