· 8 years ago · Aug 22, 2018, 09:08 AM
1#!/bin/bash
2
3SSH_USER='root'
4SSH_PASS='Viettel@123'
5SSH_HOST='10.240.202.27'
6
7HARD_DRIVE='/dev/vdb'
8MOUNT_POINT='/u01'
9
10PATH_DIR='kt_vtnet'
11PATH_SOURCE="${MOUNT_POINT}/${PATH_DIR}"
12
13date=`date`
14log_file=/var/log/config-app.log
15
16
17function config_repo ()
18{
19
20echo "Configuring local repo"
21echo "ERROR -- $date -- Configuring local repo" >> $log_file
22
23rm -rf /etc/yum.repos.d/*
24
25cat << EOF > /etc/yum.repos.d/local.repo
26[centos_repo]
27name=Centos Repo
28baseurl=http://10.240.173.23:8081/repository/centos-7/
29enabled=1
30gpgcheck=0
31
32[epel_repo]
33name=EPEL Repo
34baseurl=http://10.240.173.23:8081/repository/fedora/
35enabled=1
36gpgcheck=0
37EOF
38
39yum install sshpass -y
40}
41
42
43function config_drive ()
44{
45 #Check if HARD_DRIVE exists
46 fdisk -l "$HARD_DRIVE"
47 if ! [ $? -eq 0 ]; then
48 echo "$HARD_DRIVE doesn't exists !"
49 echo "ERROR -- $date -- Can not configure drive. $HARD_DRIVE doesn't exists!" >> $log_file
50 exit
51 else
52 fdisk -l "$HARD_DRIVE"1
53 if [ $? -eq 0 ]; then
54 echo "${HARD_DRIVE}1 already exists, quiting!"
55 echo "ERROR -- $date -- ${HARD_DRIVE}1 already exists, quiting" >> $log_file
56 exit
57 fi
58 fi
59
60 #Format and creare partition
61(
62echo o # Create a new empty DOS partition table
63echo n # Add a new partition
64echo p # Primary partition
65echo 1 # Partition number
66echo # First sector (Accept default: 1)
67echo # Last sector (Accept default: varies)
68echo w # Write changes
69) | sudo fdisk $HARD_DRIVE
70
71 if ! [ $? -eq 0 ]; then
72 echo "Cannot create partitions"
73 echo "ERROR -- $date -- Can not create partitions" >> $log_file
74 exit
75 fi
76
77 #Make file system and create mount point
78 mkfs.xfs ${HARD_DRIVE}1
79 mkdir $MOUNT_POINT
80 mount ${HARD_DRIVE}1 $MOUNT_POINT
81 mkdir $PATH_SOURCE
82
83 #Make it persitent
84 echo "${HARD_DRIVE}1 ${MOUNT_POINT} xfs defaults 0 0" >> /etc/fstab
85}
86
87
88function sync_source ()
89{
90 echo "Syncing source code"
91 sshpass -p $SSH_PASS rsync -az -e "ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null" --progress $SSH_USER@$SSH_HOST:$PATH_SOURCE/ $PATH_SOURCE/
92 if [ $? -eq 0 ]; then
93 echo "Sync success"
94 echo "INFO -- $date -- Sync source code success" >> $log_file
95 else
96 echo "Sync fail"
97 echo "ERROR -- $date -- Can not sync souce code" >> $log_file
98 fi
99}
100
101
102function configure_app ()
103{
104 echo Configure app
105}
106
107
108function run_app ()
109{
110 echo Run app
111 /u01/kt_vtnet/tomcat_vtnet_portal_8803/bin/startup.sh
112}
113
114function stop_app ()
115{
116 echo Stop app
117 /u01/kt_vtnet/tomcat_vtnet_portal_8803/bin/stop.sh
118}
119
120
121config_repo
122config_drive
123sync_source
124run_app
125#stop_app