ref: 构建工具重构
This commit is contained in:
17
linux/lib/systemd/system/omc.service
Normal file
17
linux/lib/systemd/system/omc.service
Normal file
@@ -0,0 +1,17 @@
|
||||
[Unit]
|
||||
Description=omc service daemon
|
||||
After=network-online.target kvdb.service
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
LimitNOFILE=65535
|
||||
LimitNPROC=65535
|
||||
|
||||
Restart=always
|
||||
ExecStart=/usr/local/bin/omc -c /usr/local/etc/omc/omc.yaml
|
||||
RestartSec=2
|
||||
RestartPreventExitStatus=SIGTERM SIGKILL
|
||||
ExecReload=/bin/kill -HUP $MAINPID
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
17
linux/lib/systemd/system/sshsvc.service
Normal file
17
linux/lib/systemd/system/sshsvc.service
Normal file
@@ -0,0 +1,17 @@
|
||||
[Unit]
|
||||
Description=OMC SSH MML service daemon
|
||||
After=network-online.target mysql.service
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
LimitNOFILE=65535
|
||||
LimitNPROC=65535
|
||||
|
||||
Restart=always
|
||||
ExecStart=/usr/local/omc/bin/sshsvc -c /usr/local/omc/etc/sshsvc.yaml
|
||||
RestartSec=2
|
||||
RestartPreventExitStatus=SIGTERM SIGKILL
|
||||
ExecReload=/bin/kill -HUP $MAINPID
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
1
linux/usr/local/bin/omc
Normal file
1
linux/usr/local/bin/omc
Normal file
@@ -0,0 +1 @@
|
||||
占位
|
||||
1
linux/usr/local/bin/sshsvc
Normal file
1
linux/usr/local/bin/sshsvc
Normal file
@@ -0,0 +1 @@
|
||||
占位
|
||||
23
linux/usr/local/etc/omc/certs/omc-server.crt
Normal file
23
linux/usr/local/etc/omc/certs/omc-server.crt
Normal file
@@ -0,0 +1,23 @@
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIDxTCCAq2gAwIBAgIUJLpIo8eueW/in9CvXZdr3oAVVJwwDQYJKoZIhvcNAQEL
|
||||
BQAwcjELMAkGA1UEBhMCQVUxDDAKBgNVBAgMA09NQzERMA8GA1UEBwwIT01DLVRl
|
||||
YW0xITAfBgNVBAoMGEludGVybmV0IFdpZGdpdHMgUHR5IEx0ZDEMMAoGA1UECwwD
|
||||
T01DMREwDwYDVQQDDAhPTUMtVGVhbTAeFw0yNTAzMTQwNzQ2MTNaFw0yNjAzMTQw
|
||||
NzQ2MTNaMHIxCzAJBgNVBAYTAkFVMQwwCgYDVQQIDANPTUMxETAPBgNVBAcMCE9N
|
||||
Qy1UZWFtMSEwHwYDVQQKDBhJbnRlcm5ldCBXaWRnaXRzIFB0eSBMdGQxDDAKBgNV
|
||||
BAsMA09NQzERMA8GA1UEAwwIT01DLVRlYW0wggEiMA0GCSqGSIb3DQEBAQUAA4IB
|
||||
DwAwggEKAoIBAQDbSyUIbKefOlKStnr+rRwVlkr1IXdMsXmmEV9zoapXDz4j4N0H
|
||||
9pzEkpwvxbP+r5186CfKzueHBNc7HWinm4wSCDR6exaxG3YGODxMuLnKGPtG2tml
|
||||
XBf7USeiMGNKYEF/KWmjjIPw4/9P+6qdIuneX7i0AdGynJI+3JPDT8Iwky2Cm5B4
|
||||
LRJTSJMfHO0ayrWPDoUCvKIst8w9GkFLjsbZU+AppjWj0rYWc04Oci7zqoUiFeBh
|
||||
mnQKbCVrlZ4i2CKwgfuxQV2ieSkQ0QoTAXDjocrL/mRmnpvoH0jB2np3OfVlEPBP
|
||||
pR4q71vuUNkra/F4zPQRPUlqemfo8+4/k3TPAgMBAAGjUzBRMB0GA1UdDgQWBBTN
|
||||
+1JjU2yWzQMeSMzS5HItc4WMHDAfBgNVHSMEGDAWgBTN+1JjU2yWzQMeSMzS5HIt
|
||||
c4WMHDAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQBZV5RfuZ2R
|
||||
0Nhs05apqwFFg8k0vJ26KMXr0i6YnlKpksEYqjXqmB58qHze6sOy7h3248FyTFlC
|
||||
5YWWwwOAMiPjiH4NKMnqTthdUA4kiZiGs92jB4U/GS3lHTpsXzNssvQ8Dys7zKoj
|
||||
HxnJlYpT8F6/waPPRakuP657BAVux5aAloRtqd6kGV3Donp4DwEmhdZpn6Q12igw
|
||||
/+m1e9Xhxiv++H+OXzTXLerQOuUkTzKw7Ajj3hY93SeX6DOONMmoyuV1undxbvWp
|
||||
lVZXo9iTGfrMkiyKF75LUyBRvvd7K5MVXJwxu0l5rvnpn6/aO1+2BUCf1ldd9VEw
|
||||
DSbfrW2FfOmc
|
||||
-----END CERTIFICATE-----
|
||||
28
linux/usr/local/etc/omc/certs/omc-server.key
Normal file
28
linux/usr/local/etc/omc/certs/omc-server.key
Normal file
@@ -0,0 +1,28 @@
|
||||
-----BEGIN PRIVATE KEY-----
|
||||
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDbSyUIbKefOlKS
|
||||
tnr+rRwVlkr1IXdMsXmmEV9zoapXDz4j4N0H9pzEkpwvxbP+r5186CfKzueHBNc7
|
||||
HWinm4wSCDR6exaxG3YGODxMuLnKGPtG2tmlXBf7USeiMGNKYEF/KWmjjIPw4/9P
|
||||
+6qdIuneX7i0AdGynJI+3JPDT8Iwky2Cm5B4LRJTSJMfHO0ayrWPDoUCvKIst8w9
|
||||
GkFLjsbZU+AppjWj0rYWc04Oci7zqoUiFeBhmnQKbCVrlZ4i2CKwgfuxQV2ieSkQ
|
||||
0QoTAXDjocrL/mRmnpvoH0jB2np3OfVlEPBPpR4q71vuUNkra/F4zPQRPUlqemfo
|
||||
8+4/k3TPAgMBAAECggEACunzfuGBeiWPRH6md77/0yc2tc/OPdfmA64rqk0/yrNs
|
||||
gUvzVC524OWhtlLy7AMA0IhGqrZKGZMpGb0TSfwuKBuWbl4VOV1Hg3Rls9/MXKg0
|
||||
9p11EDYZeh2GM8aQD9HjO0PsCQK48lKL5gbSwp1L4bsGg0Galna/ueHad3GkatcL
|
||||
aSlFnnvzk4glAxT093F43lAxS463iPX7ueG/2322z0Ib+c6wGEFRcoYNI0/2Ax/u
|
||||
6UdWxuHUs+7gDLcVa9FN7vx1UBoqAu49WlCfmtvzDTDyK7xLWlvKCx3O8uSLv4aw
|
||||
/YMRg/yTulUj0dqIUcs/u/UN6AJc8Xk0H+rTpTfgcQKBgQDyq+FFvtG2xm2Ig0/9
|
||||
BLRdXPM4VgyokPxOL+j9H7LJfrjdz0cnGEuoOfBT8hDX2zFgC6dqAESSnAbPVQJP
|
||||
6PaYJ8UtOWhwNUAfpRlid1/Y3iDRHWOirjeMKZRh6xN95m21FVbJUg6LfxTf8HWA
|
||||
OgNwPsfjPL1Jdinw+OX++EvTBwKBgQDnVo5vRBqnLJl85Q7WXQFqjW9j7S1P8ZVL
|
||||
JmAyNHlpdaNCF2VD164qDQEAi2FDLeDgV5UnAxOeDh/0Z0a3ncp8QLUkwqksBqwa
|
||||
dhsUF5Jf0Dy3EjiP2w6FsTYanKGuTtV44ovlFTtXL1SSn2ijMVS17YmJgz6LhJbE
|
||||
wvry6Vd1+QKBgAN7/k8PD1nNfZMhN4vNfn18sS1U5vegpU7GF1VTGDEWdbcRm9bu
|
||||
3V87/bxm1GEVD59ua2f1OwbT4LEnalIVaT0EDSu6EErUKOiLaVLlneWyQsxd3Klg
|
||||
UQHdMvk4892x6k9YUBex6u2L1JPmkvlVW+lHrX0QyTL91FpWaI8Bp60PAoGBAMR/
|
||||
hh7Gl2kWfg1TNyYn+9L47fvP8yQrjOc3YpBieBp2/MRfwPk+U0aOoyJGQchhSNjm
|
||||
K9/mQhyH3Oapbqz6j4q5H+RooG+v/zG+zkNjvkY6R8gs5vRyWkR/APjbwI2hkrvK
|
||||
mo9sWGo23rxoQOYVOeIKMUAnxdGWPsZE5Am+4DZpAoGBAJAF8MP5SlNRSF6zM3Lw
|
||||
Qf5CQjsyXhll+A/ueOf1iQ+8r7xdxa6dNtcTcOZVVDsbXIBJ4/3HGTLfQCcGrhLN
|
||||
KK9wljtkiYJ0h6IqcXnhp69uRV4SKRInyVEjNkiBotBPu5y6CYz5MAXFdM87q7jO
|
||||
ehVc6QGJ9vLnfnwEFbAMArmv
|
||||
-----END PRIVATE KEY-----
|
||||
23
linux/usr/local/etc/omc/certs/omc-web.crt
Normal file
23
linux/usr/local/etc/omc/certs/omc-web.crt
Normal file
@@ -0,0 +1,23 @@
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIDxTCCAq2gAwIBAgIUJLpIo8eueW/in9CvXZdr3oAVVJwwDQYJKoZIhvcNAQEL
|
||||
BQAwcjELMAkGA1UEBhMCQVUxDDAKBgNVBAgMA09NQzERMA8GA1UEBwwIT01DLVRl
|
||||
YW0xITAfBgNVBAoMGEludGVybmV0IFdpZGdpdHMgUHR5IEx0ZDEMMAoGA1UECwwD
|
||||
T01DMREwDwYDVQQDDAhPTUMtVGVhbTAeFw0yNTAzMTQwNzQ2MTNaFw0yNjAzMTQw
|
||||
NzQ2MTNaMHIxCzAJBgNVBAYTAkFVMQwwCgYDVQQIDANPTUMxETAPBgNVBAcMCE9N
|
||||
Qy1UZWFtMSEwHwYDVQQKDBhJbnRlcm5ldCBXaWRnaXRzIFB0eSBMdGQxDDAKBgNV
|
||||
BAsMA09NQzERMA8GA1UEAwwIT01DLVRlYW0wggEiMA0GCSqGSIb3DQEBAQUAA4IB
|
||||
DwAwggEKAoIBAQDbSyUIbKefOlKStnr+rRwVlkr1IXdMsXmmEV9zoapXDz4j4N0H
|
||||
9pzEkpwvxbP+r5186CfKzueHBNc7HWinm4wSCDR6exaxG3YGODxMuLnKGPtG2tml
|
||||
XBf7USeiMGNKYEF/KWmjjIPw4/9P+6qdIuneX7i0AdGynJI+3JPDT8Iwky2Cm5B4
|
||||
LRJTSJMfHO0ayrWPDoUCvKIst8w9GkFLjsbZU+AppjWj0rYWc04Oci7zqoUiFeBh
|
||||
mnQKbCVrlZ4i2CKwgfuxQV2ieSkQ0QoTAXDjocrL/mRmnpvoH0jB2np3OfVlEPBP
|
||||
pR4q71vuUNkra/F4zPQRPUlqemfo8+4/k3TPAgMBAAGjUzBRMB0GA1UdDgQWBBTN
|
||||
+1JjU2yWzQMeSMzS5HItc4WMHDAfBgNVHSMEGDAWgBTN+1JjU2yWzQMeSMzS5HIt
|
||||
c4WMHDAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQBZV5RfuZ2R
|
||||
0Nhs05apqwFFg8k0vJ26KMXr0i6YnlKpksEYqjXqmB58qHze6sOy7h3248FyTFlC
|
||||
5YWWwwOAMiPjiH4NKMnqTthdUA4kiZiGs92jB4U/GS3lHTpsXzNssvQ8Dys7zKoj
|
||||
HxnJlYpT8F6/waPPRakuP657BAVux5aAloRtqd6kGV3Donp4DwEmhdZpn6Q12igw
|
||||
/+m1e9Xhxiv++H+OXzTXLerQOuUkTzKw7Ajj3hY93SeX6DOONMmoyuV1undxbvWp
|
||||
lVZXo9iTGfrMkiyKF75LUyBRvvd7K5MVXJwxu0l5rvnpn6/aO1+2BUCf1ldd9VEw
|
||||
DSbfrW2FfOmc
|
||||
-----END CERTIFICATE-----
|
||||
28
linux/usr/local/etc/omc/certs/omc-web.key
Normal file
28
linux/usr/local/etc/omc/certs/omc-web.key
Normal file
@@ -0,0 +1,28 @@
|
||||
-----BEGIN PRIVATE KEY-----
|
||||
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDbSyUIbKefOlKS
|
||||
tnr+rRwVlkr1IXdMsXmmEV9zoapXDz4j4N0H9pzEkpwvxbP+r5186CfKzueHBNc7
|
||||
HWinm4wSCDR6exaxG3YGODxMuLnKGPtG2tmlXBf7USeiMGNKYEF/KWmjjIPw4/9P
|
||||
+6qdIuneX7i0AdGynJI+3JPDT8Iwky2Cm5B4LRJTSJMfHO0ayrWPDoUCvKIst8w9
|
||||
GkFLjsbZU+AppjWj0rYWc04Oci7zqoUiFeBhmnQKbCVrlZ4i2CKwgfuxQV2ieSkQ
|
||||
0QoTAXDjocrL/mRmnpvoH0jB2np3OfVlEPBPpR4q71vuUNkra/F4zPQRPUlqemfo
|
||||
8+4/k3TPAgMBAAECggEACunzfuGBeiWPRH6md77/0yc2tc/OPdfmA64rqk0/yrNs
|
||||
gUvzVC524OWhtlLy7AMA0IhGqrZKGZMpGb0TSfwuKBuWbl4VOV1Hg3Rls9/MXKg0
|
||||
9p11EDYZeh2GM8aQD9HjO0PsCQK48lKL5gbSwp1L4bsGg0Galna/ueHad3GkatcL
|
||||
aSlFnnvzk4glAxT093F43lAxS463iPX7ueG/2322z0Ib+c6wGEFRcoYNI0/2Ax/u
|
||||
6UdWxuHUs+7gDLcVa9FN7vx1UBoqAu49WlCfmtvzDTDyK7xLWlvKCx3O8uSLv4aw
|
||||
/YMRg/yTulUj0dqIUcs/u/UN6AJc8Xk0H+rTpTfgcQKBgQDyq+FFvtG2xm2Ig0/9
|
||||
BLRdXPM4VgyokPxOL+j9H7LJfrjdz0cnGEuoOfBT8hDX2zFgC6dqAESSnAbPVQJP
|
||||
6PaYJ8UtOWhwNUAfpRlid1/Y3iDRHWOirjeMKZRh6xN95m21FVbJUg6LfxTf8HWA
|
||||
OgNwPsfjPL1Jdinw+OX++EvTBwKBgQDnVo5vRBqnLJl85Q7WXQFqjW9j7S1P8ZVL
|
||||
JmAyNHlpdaNCF2VD164qDQEAi2FDLeDgV5UnAxOeDh/0Z0a3ncp8QLUkwqksBqwa
|
||||
dhsUF5Jf0Dy3EjiP2w6FsTYanKGuTtV44ovlFTtXL1SSn2ijMVS17YmJgz6LhJbE
|
||||
wvry6Vd1+QKBgAN7/k8PD1nNfZMhN4vNfn18sS1U5vegpU7GF1VTGDEWdbcRm9bu
|
||||
3V87/bxm1GEVD59ua2f1OwbT4LEnalIVaT0EDSu6EErUKOiLaVLlneWyQsxd3Klg
|
||||
UQHdMvk4892x6k9YUBex6u2L1JPmkvlVW+lHrX0QyTL91FpWaI8Bp60PAoGBAMR/
|
||||
hh7Gl2kWfg1TNyYn+9L47fvP8yQrjOc3YpBieBp2/MRfwPk+U0aOoyJGQchhSNjm
|
||||
K9/mQhyH3Oapbqz6j4q5H+RooG+v/zG+zkNjvkY6R8gs5vRyWkR/APjbwI2hkrvK
|
||||
mo9sWGo23rxoQOYVOeIKMUAnxdGWPsZE5Am+4DZpAoGBAJAF8MP5SlNRSF6zM3Lw
|
||||
Qf5CQjsyXhll+A/ueOf1iQ+8r7xdxa6dNtcTcOZVVDsbXIBJ4/3HGTLfQCcGrhLN
|
||||
KK9wljtkiYJ0h6IqcXnhp69uRV4SKRInyVEjNkiBotBPu5y6CYz5MAXFdM87q7jO
|
||||
ehVc6QGJ9vLnfnwEFbAMArmv
|
||||
-----END PRIVATE KEY-----
|
||||
0
linux/usr/local/etc/omc/database/.gitkeep
Normal file
0
linux/usr/local/etc/omc/database/.gitkeep
Normal file
0
linux/usr/local/etc/omc/default/.gitkeep
Normal file
0
linux/usr/local/etc/omc/default/.gitkeep
Normal file
71
linux/usr/local/etc/omc/nginx/omc.conf
Normal file
71
linux/usr/local/etc/omc/nginx/omc.conf
Normal file
@@ -0,0 +1,71 @@
|
||||
server {
|
||||
listen 44080;
|
||||
listen 44443;
|
||||
listen [::]:44080;
|
||||
listen [::]:44443;
|
||||
server_name localhost;
|
||||
|
||||
client_max_body_size 100M;
|
||||
keepalive_timeout 180s;
|
||||
|
||||
#access_log /var/log/nginx/host.access.log main;
|
||||
|
||||
# ssl_certificate /usr/local/omc/etc/certs/omc-server.crt;
|
||||
# ssl_certificate_key /usr/local/omc/etc/certs/omc-server.key;
|
||||
# ssl_client_certificate /usr/local/omc/etc/certs/omc-ca.crt;
|
||||
# ssl_verify_client on;
|
||||
# ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
|
||||
# ssl_session_timeout 5m;
|
||||
# ssl_ciphers EECDH+CHACHA20:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;
|
||||
# ssl_prefer_server_ciphers on;
|
||||
|
||||
# OMC
|
||||
location / {
|
||||
root /usr/local/etc/omc/web;
|
||||
|
||||
try_files $uri $uri/ /index.html;
|
||||
index index.html index.htm;
|
||||
}
|
||||
|
||||
location /omc-api/ {
|
||||
proxy_pass https://127.0.0.1:33443/;
|
||||
|
||||
proxy_connect_timeout 180s;
|
||||
proxy_send_timeout 180s;
|
||||
proxy_read_timeout 180s;
|
||||
|
||||
proxy_cache_bypass $http_upgrade;
|
||||
proxy_set_header Upgrade $http_upgrade;
|
||||
proxy_set_header Connection "upgrade";
|
||||
proxy_set_header Host $host;
|
||||
proxy_set_header X-Real-IP $remote_addr;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
proxy_set_header X-Forwarded-Proto $scheme;
|
||||
proxy_set_header X-Forwarded-Host $host;
|
||||
proxy_set_header X-Forwarded-Port $server_port;
|
||||
}
|
||||
|
||||
location /api/rest/ {
|
||||
proxy_pass https://127.0.0.1:33443/api/rest/;
|
||||
|
||||
proxy_cache_bypass $http_upgrade;
|
||||
proxy_set_header Upgrade $http_upgrade;
|
||||
proxy_set_header Connection "upgrade";
|
||||
proxy_set_header Host $host;
|
||||
proxy_set_header X-Real-IP $remote_addr;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
proxy_set_header X-Forwarded-Proto $scheme;
|
||||
proxy_set_header X-Forwarded-Host $host;
|
||||
proxy_set_header X-Forwarded-Port $server_port;
|
||||
}
|
||||
|
||||
#error_page 404 /404.html;
|
||||
|
||||
# redirect server error pages to the static page /50x.html
|
||||
#
|
||||
error_page 500 502 503 504 /50x.html;
|
||||
location = /50x.html {
|
||||
root /usr/share/nginx/html;
|
||||
}
|
||||
}
|
||||
|
||||
38
linux/usr/local/etc/omc/script/cpnetools.sh
Normal file
38
linux/usr/local/etc/omc/script/cpnetools.sh
Normal file
@@ -0,0 +1,38 @@
|
||||
#!/bin/bash
|
||||
|
||||
tooldir=/usr/local/bin
|
||||
toollist="zip unzip"
|
||||
|
||||
# distribute to hosts in file nehosts
|
||||
while read line
|
||||
do
|
||||
if [[ "$line" =~ ^[^[:space:]]*# || -z "$line" ]]; then
|
||||
continue
|
||||
fi
|
||||
user=`echo $line | cut -d " " -f 2`
|
||||
ip=`echo $line | cut -d " " -f 1`
|
||||
passwd=`echo $line | cut -d " " -f 3`
|
||||
|
||||
for toolname in $toollist;do
|
||||
expect <<EOF
|
||||
set timeout 10
|
||||
spawn scp $tooldir/$toolname $user@$ip:/tmp
|
||||
expect {
|
||||
"yes/no" { send "yes\n";exp_continue }
|
||||
"password" { send "$passwd\n" }
|
||||
}
|
||||
expect "password" { send "$passwd\n" }
|
||||
EOF
|
||||
done
|
||||
for toolname in $toollist;do
|
||||
expect <<EOF
|
||||
set timeout 10
|
||||
spawn ssh $user@$ip sudo mv /tmp/$toolname $tooldir
|
||||
expect {
|
||||
"yes/no" { send "yes\n";exp_continue }
|
||||
"password" { send "$passwd\n" }
|
||||
}
|
||||
expect "password" { send "$passwd\n" }
|
||||
EOF
|
||||
done
|
||||
done < nehosts
|
||||
36
linux/usr/local/etc/omc/script/cpsshkey.sh
Normal file
36
linux/usr/local/etc/omc/script/cpsshkey.sh
Normal file
@@ -0,0 +1,36 @@
|
||||
#!/bin/bash
|
||||
|
||||
# if exist id_rsa
|
||||
if [ ! -f ~/.ssh/id_rsa ];then
|
||||
ssh-keygen -t rsa -P "" -f ~/.ssh/id_rsa
|
||||
else
|
||||
echo "id_rsa has created ..."
|
||||
fi
|
||||
|
||||
# distribute to hosts in file nehosts
|
||||
while read line
|
||||
do
|
||||
# ignore comment or null line
|
||||
if [[ "$line" =~ ^[^[:space:]]*# || -z "$line" ]]; then
|
||||
continue
|
||||
fi
|
||||
|
||||
ip=`echo $line | cut -d " " -f 1`
|
||||
user=`echo $line | cut -d " " -f 2`
|
||||
passwd=`echo $line | cut -d " " -f 3`
|
||||
|
||||
# !!! to remove ~/.ssh, all old authorized key will be lost
|
||||
expect <<EOF
|
||||
set timeout 10
|
||||
spawn ssh $user@$ip "sudo rm -r ~/.ssh"
|
||||
expect {
|
||||
"yes/no" { send "yes\n";exp_continue }
|
||||
"password:" { send "$passwd\n" }
|
||||
}
|
||||
spawn ssh-copy-id -f $user@$ip
|
||||
expect {
|
||||
"password:" { send "$passwd\n" }
|
||||
}
|
||||
expect eof
|
||||
EOF
|
||||
done < nehosts
|
||||
161
linux/usr/local/etc/omc/script/importdb.sh
Normal file
161
linux/usr/local/etc/omc/script/importdb.sh
Normal file
@@ -0,0 +1,161 @@
|
||||
#!/bin/bash
|
||||
|
||||
USER="root"
|
||||
PASSWORD="1000omc@kp!"
|
||||
HOST="127.0.0.1"
|
||||
PORT="33066"
|
||||
DBNAME="omc_db"
|
||||
UpgradeSQLDir=/usr/local/omc/etc/db/upgrade
|
||||
Upgvue3SQLDir=/usr/local/omc/etc/db/upgvue3
|
||||
InstallSQLDir=/usr/local/omc/etc/db/install
|
||||
|
||||
drop_db_sql="drop database IF EXISTS ${DBNAME}"
|
||||
create_db_sql="create database IF NOT EXISTS ${DBNAME}"
|
||||
|
||||
case "$1" in
|
||||
upgrade)
|
||||
echo "Upgrade database ${DBNAME}"
|
||||
for SQL in ${UpgradeSQLDir}/*.sql; do
|
||||
echo -n "Execute SQL script: ${SQL} ..."
|
||||
mysql -u${USER} -p${PASSWORD} -P ${PORT} -h ${HOST} --protocol tcp -D ${DBNAME} < ${SQL};
|
||||
if [ $? = 0 ]; then
|
||||
echo "done"
|
||||
fi
|
||||
done
|
||||
;;
|
||||
|
||||
upgvue3)
|
||||
echo "Upgrade to vue3 database ${DBNAME}"
|
||||
for SQL in ${Upgvue3SQLDir}/*.sql; do
|
||||
echo -n "Execute SQL script: ${SQL} ..."
|
||||
mysql -u${USER} -p${PASSWORD} -P ${PORT} -h ${HOST} --protocol tcp -D ${DBNAME} < ${SQL};
|
||||
if [ $? = 0 ]; then
|
||||
echo "done"
|
||||
fi
|
||||
done
|
||||
;;
|
||||
|
||||
install)
|
||||
echo "Drop database ${DBNAME} ...!!!"
|
||||
mysql -u${USER} -p${PASSWORD} -P $PORT -h ${HOST} --protocol tcp -e "${drop_db_sql}"
|
||||
echo "Create database ${DBNAME} if not exist"
|
||||
mysql -u${USER} -p${PASSWORD} -P $PORT -h ${HOST} --protocol tcp -e "${create_db_sql}"
|
||||
for SQL in ${InstallSQLDir}/*.sql; do
|
||||
echo -n "Execute SQL script: ${SQL} ..."
|
||||
mysql -u${USER} -p${PASSWORD} -P ${PORT} -h ${HOST} --protocol tcp -D ${DBNAME} < ${SQL};
|
||||
if [ $? = 0 ]; then
|
||||
echo "done"
|
||||
fi
|
||||
done
|
||||
;;
|
||||
|
||||
*)
|
||||
while true
|
||||
do
|
||||
read -r -p "Do you upgrade or upgrade from layui to vue3 or fresh install database ${DBNAME}? [Upgrade/upgVue3/Install/Quit] " input
|
||||
|
||||
case $input in
|
||||
[uU][pP][gG][rR][aA][dD][eE]|[uU])
|
||||
echo "Skip to drop database ${DBNAME}"
|
||||
echo "Upgrade database ${DBNAME}"
|
||||
|
||||
for SQL in ${UpgradeSQLDir}/*.sql; do
|
||||
echo -n "Execute SQL script: ${SQL} ..."
|
||||
mysql -u${USER} -p${PASSWORD} -P ${PORT} -h ${HOST} --protocol tcp -D ${DBNAME} < ${SQL};
|
||||
if [ $? = 0 ]; then
|
||||
echo "done"
|
||||
fi
|
||||
done
|
||||
|
||||
break
|
||||
;;
|
||||
|
||||
[uU][pP][gG][vV][uU][eE][3]|[vV]])
|
||||
echo "Skip to drop database ${DBNAME}"
|
||||
echo "Upgrade to vue3 database ${DBNAME}"
|
||||
|
||||
for SQL in ${Upgvue3SQLDir}/*.sql; do
|
||||
echo -n "Execute SQL script: ${SQL} ..."
|
||||
mysql -u${USER} -p${PASSWORD} -P ${PORT} -h ${HOST} --protocol tcp -D ${DBNAME} < ${SQL};
|
||||
if [ $? = 0 ]; then
|
||||
echo "done"
|
||||
fi
|
||||
done
|
||||
|
||||
break
|
||||
;;
|
||||
|
||||
[iI][nN][sS][tT][aA][lL][lL]|[iI])
|
||||
echo "Drop database ${DBNAME} ...!!!"
|
||||
|
||||
mysql -u${USER} -p${PASSWORD} -P $PORT -h ${HOST} --protocol tcp -e "${drop_db_sql}"
|
||||
echo "Create database ${DBNAME} if not exist"
|
||||
mysql -u${USER} -p${PASSWORD} -P $PORT -h ${HOST} --protocol tcp -e "${create_db_sql}"
|
||||
|
||||
for SQL in ${InstallSQLDir}/*.sql; do
|
||||
echo -n "Execute SQL script: ${SQL} ..."
|
||||
mysql -u${USER} -p${PASSWORD} -P ${PORT} -h ${HOST} --protocol tcp -D ${DBNAME} < ${SQL};
|
||||
if [ $? = 0 ]; then
|
||||
echo "done"
|
||||
fi
|
||||
done
|
||||
|
||||
break
|
||||
;;
|
||||
|
||||
[qQ][uU][iI][tT]|[qQ])
|
||||
echo "Nothing to be done! GOOD BYE"
|
||||
exit 1;
|
||||
;;
|
||||
|
||||
*)
|
||||
echo "Invalid input..."
|
||||
;;
|
||||
esac
|
||||
done
|
||||
;;
|
||||
esac
|
||||
|
||||
# create kpi_report table with ne_type, exp: kpi_report_amf
|
||||
ne_types=$(mysql -u${USER} -p${PASSWORD} -P ${PORT} -h ${HOST} --protocol tcp -D ${DBNAME} -se "SELECT DISTINCT LOWER(ne_type) FROM kpi_title")
|
||||
for ne_type in ${ne_types}; do
|
||||
TABLE_NAME="kpi_report_${ne_type}"
|
||||
SQL="CREATE TABLE IF NOT EXISTS ${TABLE_NAME} LIKE \`kpi_report\`;"
|
||||
echo -n "Create table: ${TABLE_NAME} ..."
|
||||
mysql -u${USER} -p${PASSWORD} -P ${PORT} -h ${HOST} --protocol tcp -D ${DBNAME} -e "${SQL}"
|
||||
if [ $? = 0 ]; then
|
||||
echo "done"
|
||||
fi
|
||||
SQL="ALTER TABLE ${TABLE_NAME} DROP INDEX IF EXISTS \`idx_uid_at\`;"
|
||||
echo -n "Create index of ${TABLE_NAME} ..."
|
||||
mysql -u${USER} -p${PASSWORD} -P ${PORT} -h ${HOST} --protocol tcp -D ${DBNAME} -e "${SQL}"
|
||||
if [ $? = 0 ]; then
|
||||
echo "done"
|
||||
fi
|
||||
SQL="ALTER TABLE ${TABLE_NAME} ADD INDEX IF NOT EXISTS \`idx_${ne_type}_uid_at\`(\`rm_uid\`, \`created_at\`) USING BTREE;"
|
||||
echo -n "Create index of ${TABLE_NAME} ..."
|
||||
mysql -u${USER} -p${PASSWORD} -P ${PORT} --protocol tcp -D ${DBNAME} -e "${SQL}"
|
||||
if [ $? = 0 ]; then
|
||||
echo "done"
|
||||
fi
|
||||
|
||||
TABLE_NAME="kpi_c_report_${ne_type}"
|
||||
SQL="CREATE TABLE IF NOT EXISTS ${TABLE_NAME} LIKE \`kpi_c_report\`;"
|
||||
echo -n "Create table: ${TABLE_NAME} ..."
|
||||
mysql -u${USER} -p${PASSWORD} -P ${PORT} -h ${HOST} --protocol tcp -D ${DBNAME} -e "${SQL}"
|
||||
if [ $? = 0 ]; then
|
||||
echo "done"
|
||||
fi
|
||||
SQL="ALTER TABLE ${TABLE_NAME} DROP INDEX IF EXISTS \`idx_c_uid_at\`;"
|
||||
echo -n "Create index of ${TABLE_NAME} ..."
|
||||
mysql -u${USER} -p${PASSWORD} -P ${PORT} -h ${HOST} --protocol tcp -D ${DBNAME} -e "${SQL}"
|
||||
if [ $? = 0 ]; then
|
||||
echo "done"
|
||||
fi
|
||||
SQL="ALTER TABLE ${TABLE_NAME} ADD INDEX IF NOT EXISTS \`idx_c_${ne_type}_uid_at\`(\`rm_uid\`, \`created_at\`) USING BTREE;"
|
||||
echo -n "Create index of ${TABLE_NAME} ..."
|
||||
mysql -u${USER} -p${PASSWORD} -P ${PORT} --protocol tcp -D ${DBNAME} -e "${SQL}"
|
||||
if [ $? = 0 ]; then
|
||||
echo "done"
|
||||
fi
|
||||
done
|
||||
2
linux/usr/local/etc/omc/script/nehosts
Normal file
2
linux/usr/local/etc/omc/script/nehosts
Normal file
@@ -0,0 +1,2 @@
|
||||
# host user password
|
||||
# Example: 172.16.5.100 omcuser password
|
||||
16
linux/usr/local/etc/omc/script/rmexpfiles.sh
Normal file
16
linux/usr/local/etc/omc/script/rmexpfiles.sh
Normal file
@@ -0,0 +1,16 @@
|
||||
#!/bin/bash
|
||||
|
||||
# rm expired file with filename like *20231028111213.zip"
|
||||
|
||||
filepath=$1
|
||||
duration=$2
|
||||
|
||||
find $filepath -maxdepth 1 -type f -name "*[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]*" -printf "%f\n" | while read filename; do
|
||||
datestr=$(echo "$filename" | grep -oE '[0-9]{8}')
|
||||
filedate=$(date -d "$datestr" +%s)
|
||||
sevendaysago=$(date -d "$duration days ago" +%s)
|
||||
if [ "$filedate" -lt "$sevendaysago" ]; then
|
||||
rm -f "$filepath/$filename"
|
||||
echo "rm file: $filename"
|
||||
fi
|
||||
done
|
||||
112
linux/usr/local/etc/omc/script/setomc.sh
Normal file
112
linux/usr/local/etc/omc/script/setomc.sh
Normal file
@@ -0,0 +1,112 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Read the value of the variable from file
|
||||
source /usr/local/omc/etc/omc.conf
|
||||
|
||||
C_ARG_LOWER="omc"
|
||||
C_ARG_UPPER="OMC"
|
||||
M_ARG_LOWER="*"
|
||||
|
||||
check_args() {
|
||||
while getopts "c:m:" option; do
|
||||
case $option in
|
||||
c)
|
||||
C_ARG_LOWER=$(echo $OPTARG | tr '[:upper:]' '[:lower:]')
|
||||
C_ARG_UPPER=$(echo $OPTARG | tr '[:lower:]' '[:upper:]')
|
||||
# Modifying Script Variables
|
||||
if [ "${C_ARG_LOWER}" == "ba" ]; then
|
||||
C_ARG_UPPER="BA"
|
||||
sed -i 's/VENDORS=.*/VENDORS=BA/' /usr/local/omc/etc/omc.conf
|
||||
elif [ "${C_ARG_LOWER}" == "omc" ]; then
|
||||
C_ARG_UPPER="OMC"
|
||||
sed -i 's/VENDORS=.*/VENDORS=OMC/' /usr/local/omc/etc/omc.conf
|
||||
elif [ "${C_ARG_LOWER}" == "agt" ]; then
|
||||
C_ARG_UPPER="AGT"
|
||||
sed -i 's/VENDORS=.*/VENDORS=AGT/' /usr/local/omc/etc/omc.conf
|
||||
fi
|
||||
;;
|
||||
m)
|
||||
M_ARG=$(echo $OPTARG | tr '[:upper:]' '[:lower:]')
|
||||
if [ "${VENDORS}" == "BA" ]; then
|
||||
C_ARG_LOWER="ba"
|
||||
C_ARG_UPPER="BA"
|
||||
fi
|
||||
;;
|
||||
\?)
|
||||
echo "Invalid option: -$OPTARG" >&2
|
||||
;;
|
||||
esac
|
||||
done
|
||||
}
|
||||
|
||||
USER="root"
|
||||
PASSWORD="1000omc@kp!"
|
||||
PORT="33066"
|
||||
DBNAME="omc_db"
|
||||
OMCRootDir=/usr/local/omc
|
||||
OMCBinDir=${OMCRootDir}/bin
|
||||
UpgradeSQLDir=${OMCRootDir}/etc/db/upgrade
|
||||
Upgvue3SQLDir=${OMCRootDir}/etc/db/upgvue3
|
||||
InstallSQLDir=${OMCRootDir}/etc/db/install
|
||||
OMCStaticDir=${OMCRootDir}/static
|
||||
|
||||
check_args "$@"
|
||||
|
||||
case "${M_ARG}" in
|
||||
install)
|
||||
${OMCBinDir}/importdb.sh ${M_ARG}
|
||||
|
||||
if [ "${C_ARG_LOWER}" != "" ]; then
|
||||
CustomizedDir=${OMCStaticDir}/${C_ARG_LOWER}.d
|
||||
if [ ! -d "${CustomizedDir}" ]; then
|
||||
echo "Not found ${C_ARG_UPPER} customized directory, nothing to be done"
|
||||
exit 1
|
||||
fi
|
||||
echo -n "Setting ${C_ARG_UPPER} customized OMC ..."
|
||||
for SQL in ${CustomizedDir}/db/*.sql; do
|
||||
mysql -u${USER} -p${PASSWORD} -P ${PORT} --protocol tcp -D ${DBNAME} < ${SQL};
|
||||
done
|
||||
cp -rf ${CustomizedDir}/logo/* ${OMCStaticDir}/logo
|
||||
cp -rf ${CustomizedDir}/doc/* ${OMCStaticDir}/helpDoc
|
||||
if [ "${C_ARG_LOWER}" == "ba" ]; then
|
||||
rm -rf ${OMCStaticDir}/logo/zh_*
|
||||
rm -rf ${OMCStaticDir}/helpDoc/zh_*
|
||||
fi
|
||||
#perl -0777 -i -pe 's/omcuser/bluearcus/g' ${OMCRootDir}/etc/default/restconf.yaml
|
||||
#perl -0777 -i -pe 's/omcuser/bluearcus/g' ${OMCBinDir}/nehosts
|
||||
if [ $? = 0 ]; then
|
||||
echo "done"
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
upgrade | upgvue3)
|
||||
${OMCBinDir}/importdb.sh ${M_ARG}
|
||||
;;
|
||||
skip)
|
||||
if [ "${C_ARG_LOWER}" != "" ]; then
|
||||
CustomizedDir=${OMCStaticDir}/${C_ARG_LOWER}.d
|
||||
if [ ! -d "${CustomizedDir}" ]; then
|
||||
echo "Not found ${C_ARG_UPPER} customized directory, nothing to be done"
|
||||
exit 1
|
||||
fi
|
||||
echo -n "Setting ${C_ARG_UPPER} customized OMC ..."
|
||||
for SQL in ${CustomizedDir}/db/*.sql; do
|
||||
mysql -u${USER} -p${PASSWORD} -P ${PORT} --protocol tcp -D ${DBNAME} < ${SQL};
|
||||
done
|
||||
cp -rf ${CustomizedDir}/logo/* ${OMCStaticDir}/logo
|
||||
cp -rf ${CustomizedDir}/doc/* ${OMCStaticDir}/helpDoc
|
||||
if [ "${C_ARG_LOWER}" == "ba" ]; then
|
||||
rm -rf ${OMCStaticDir}/logo/zh_*
|
||||
rm -rf ${OMCStaticDir}/helpDoc/zh_*
|
||||
fi
|
||||
if [ $? = 0 ]; then
|
||||
echo "done"
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
${OMCBinDir}/importdb.sh
|
||||
;;
|
||||
esac
|
||||
|
||||
exit 0
|
||||
121
linux/usr/local/etc/omc/script/setup.sh
Normal file
121
linux/usr/local/etc/omc/script/setup.sh
Normal file
@@ -0,0 +1,121 @@
|
||||
#!/bin/bash
|
||||
|
||||
OMCBinFile=/usr/local/bin/omc
|
||||
OMCEtcDir=/usr/local/etc/omc
|
||||
confFile=$OMCEtcDir/omc.yaml
|
||||
VariableFile=$OMCEtcDir/omc.conf
|
||||
# Read the value of the variable from file
|
||||
source $VariableFile
|
||||
|
||||
# Initializing variables
|
||||
T_PARAM=""
|
||||
C_PARAM=""
|
||||
M_PARAM=""
|
||||
|
||||
# usage
|
||||
usage() {
|
||||
echo "Usage: bash $0 [OPTION]"
|
||||
echo
|
||||
echo "Program Initialization OPTION:"
|
||||
echo " -i, --install Specify the install"
|
||||
echo " -u, --upgrade Specify the upgrade"
|
||||
echo " -m, --mode Available the mode (standard/lite)"
|
||||
echo " -c, --customize Available the customize (omc/agt/ba)"
|
||||
echo " -h Display this help message"
|
||||
echo
|
||||
exit 1
|
||||
}
|
||||
|
||||
# =========================
|
||||
|
||||
while [[ $# -gt 0 ]]; do
|
||||
case "$1" in
|
||||
-i|--install)
|
||||
T_PARAM="install"
|
||||
shift
|
||||
;;
|
||||
-u|--upgrade)
|
||||
T_PARAM="upgrade"
|
||||
shift
|
||||
;;
|
||||
-t|--type)
|
||||
T_PARAM="$2"
|
||||
shift 2 # 跳过 -t 参数和值
|
||||
;;
|
||||
-m|--mode)
|
||||
M_PARAM="$2"
|
||||
shift 2 # 跳过 -m 参数和值
|
||||
;;
|
||||
-c|--customize)
|
||||
C_PARAM="$2"
|
||||
shift 2 # 跳过 -c 参数和值
|
||||
;;
|
||||
-h)
|
||||
usage
|
||||
;;
|
||||
*)
|
||||
echo "Error: Unknown option: $1"
|
||||
usage
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
# Make sure -i or -u comes first.
|
||||
if [ -z "$T_PARAM" ]; then
|
||||
echo "Error: You must specify -i (install) or -u (upgrade) first."
|
||||
usage
|
||||
fi
|
||||
# echo "Type parameter: $T_PARAM"
|
||||
|
||||
# Determine if -m is passed in
|
||||
if [ -n "$M_PARAM" ]; then
|
||||
# Check that mode is within the standard range
|
||||
if [[ "$M_PARAM" != "standard" && "$M_PARAM" != "lite" ]]; then
|
||||
echo "Error: M_PARAM can only be 'standard' or 'lite'."
|
||||
exit 1
|
||||
fi
|
||||
sed -i "s/MODE=.*/MODE=${M_PARAM}/" $VariableFile
|
||||
sed -i "s/serverVersion: \"standard\"/serverVersion: \"${M_PARAM}\"/" $confFile
|
||||
sed -i "/database:/,/defaultDataSourceName:/s/\"standard\"/\"${M_PARAM}\"/" $confFile
|
||||
MODE=$M_PARAM
|
||||
fi
|
||||
# echo "Mode parameter: $MODE"
|
||||
|
||||
# Determine if -c is passed in
|
||||
if [ -n "$C_PARAM" ]; then
|
||||
# Check if customize is within the standard
|
||||
if [[ "$C_PARAM" != "omc" && "$C_PARAM" != "agt" && "$C_PARAM" != "ba" ]]; then
|
||||
echo "Error: C_PARAM can only be 'omc', 'agt' or 'ba'."
|
||||
exit 1
|
||||
fi
|
||||
sed -i "s/VENDORS=.*/VENDORS=${C_PARAM}/" $VariableFile
|
||||
VENDORS=$C_PARAM
|
||||
fi
|
||||
# echo "Customize parameter: $VENDORS"
|
||||
|
||||
# =========================
|
||||
if [[ "$T_PARAM" == "install" && "$MODE" == "standard" ]]; then
|
||||
if ! command -v mysql &> /dev/null && ! command -v mariadb &> /dev/null; then
|
||||
echo "MySQL or MariaDB not installed"
|
||||
exit 1
|
||||
fi
|
||||
rm -rf $OMCEtcDir/database/lite
|
||||
rm -rf $OMCEtcDir/default/omc_db.sqlite
|
||||
fi
|
||||
if [[ "$T_PARAM" == "install" && "$MODE" == "lite" ]]; then
|
||||
rm -rf $OMCEtcDir/database/standard
|
||||
cp -rf $OMCEtcDir/default/omc_db.sqlite $OMCEtcDir/database/omc_db.sqlite
|
||||
fi
|
||||
|
||||
# =========================
|
||||
$OMCBinFile -c $confFile --sqlPath $OMCEtcDir/database/$MODE/$T_PARAM --sqlSource $MODE
|
||||
|
||||
|
||||
# ========================= Customize
|
||||
if [[ "$T_PARAM" == "install" && -d $OMCEtcDir/vendor ]]; then
|
||||
cp -rf $OMCEtcDir/vendor/$VENDORS/web/* $OMCEtcDir/web/background
|
||||
cp -rf $OMCEtcDir/vendor/$VENDORS/static/* /usr/local/omc/static
|
||||
$OMCBinFile -c $confFile --sqlPath $OMCEtcDir/vendor/$VENDORS/database/$MODE --sqlSource $MODE
|
||||
fi
|
||||
|
||||
# bash setup.sh -i -m standard -c omc
|
||||
23
linux/usr/local/etc/omc/script/sshcpid.sh
Normal file
23
linux/usr/local/etc/omc/script/sshcpid.sh
Normal file
@@ -0,0 +1,23 @@
|
||||
#!/bin/bash
|
||||
|
||||
# 判断id_rsa密钥文件是否存在
|
||||
if [ ! -f ~/.ssh/id_rsa ];then
|
||||
ssh-keygen -t rsa -P "" -f ~/.ssh/id_rsa
|
||||
else
|
||||
echo "id_rsa has created ..."
|
||||
fi
|
||||
|
||||
ip=$1
|
||||
user=$2
|
||||
passwd=$3
|
||||
|
||||
#分发到$ip主机.
|
||||
expect <<EOF
|
||||
set timeout 10
|
||||
spawn ssh-copy-id -f $user@$ip
|
||||
expect {
|
||||
"yes/no" { send "yes\n";exp_continue }
|
||||
"password" { send "$passwd\n" }
|
||||
}
|
||||
expect "password" { send "$passwd\n" }
|
||||
EOF
|
||||
0
linux/usr/local/etc/omc/vendor/.gitkeep
vendored
Normal file
0
linux/usr/local/etc/omc/vendor/.gitkeep
vendored
Normal file
0
linux/usr/local/etc/omc/web/.gitkeep
Normal file
0
linux/usr/local/etc/omc/web/.gitkeep
Normal file
0
linux/usr/local/omc/backup/.gitkeep
Normal file
0
linux/usr/local/omc/backup/.gitkeep
Normal file
0
linux/usr/local/omc/static/.gitkeep
Normal file
0
linux/usr/local/omc/static/.gitkeep
Normal file
0
linux/usr/local/omc/upload/.gitkeep
Normal file
0
linux/usr/local/omc/upload/.gitkeep
Normal file
Reference in New Issue
Block a user