Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 17b3fb5c08 | |||
| 1ef8caccbd |
23
Dockerfile
23
Dockerfile
@ -1,10 +1,7 @@
|
|||||||
# Built with arch: amd64 flavor: lxde image: ubuntu:20.04
|
|
||||||
#
|
|
||||||
################################################################################
|
|
||||||
# base system
|
|
||||||
################################################################################
|
|
||||||
|
|
||||||
FROM debian
|
FROM debian
|
||||||
|
ENV isen=isen-ssh-v1.1
|
||||||
|
|
||||||
RUN apt update
|
RUN apt update
|
||||||
RUN apt install openssh-server vim net-tools sudo openssl -y
|
RUN apt install openssh-server vim net-tools sudo openssl -y
|
||||||
RUN apt install expect openssl perl python2 psutils net-tools -y
|
RUN apt install expect openssl perl python2 psutils net-tools -y
|
||||||
@ -12,20 +9,32 @@ RUN apt install expect openssl perl python2 psutils net-tools -y
|
|||||||
RUN groupadd isen -g 1000
|
RUN groupadd isen -g 1000
|
||||||
|
|
||||||
RUN useradd -rm -d /home/isen -s /bin/bash -g 1000 -G sudo -u 1000 -p "$(/usr/bin/openssl passwd -1 isen)" isen
|
RUN useradd -rm -d /home/isen -s /bin/bash -g 1000 -G sudo -u 1000 -p "$(/usr/bin/openssl passwd -1 isen)" isen
|
||||||
RUN echo "root:ohohohNow1H4veAmach1neGun" | chpasswd
|
RUN echo "root:rootisen" | chpasswd
|
||||||
RUN echo "isen:isen" | chpasswd
|
RUN echo "isen:isen" | chpasswd
|
||||||
|
|
||||||
#RUN echo '%sudo ALL=(ALL:ALL) ALL' >> /etc/sudoers
|
#RUN echo '%sudo ALL=(ALL:ALL) ALL' >> /etc/sudoers
|
||||||
|
|
||||||
RUN sed -i "/%sudo/s/ALL$/NOPASSWD: ALL/" /etc/sudoers
|
RUN sed -i "/%sudo/s/ALL$/NOPASSWD: ALL/" /etc/sudoers
|
||||||
|
|
||||||
|
RUN apt install lynx curl wget -y
|
||||||
|
|
||||||
RUN apt install less -y
|
RUN apt install less -y
|
||||||
|
RUN apt install manpages-dev man-db shc gcc build-essential iputils-ping tree netcat cryptcat screen python netcat cryptcat elinks -y
|
||||||
|
|
||||||
|
COPY ./data/dice.ascii /opt/dice.ascii
|
||||||
|
RUN chmod 444 /opt/dice.ascii
|
||||||
|
RUN touch /etc/first
|
||||||
|
RUN touch /etc/isen2
|
||||||
RUN apt install manpages-dev man-db shc gcc build-essential iputils-ping nmap -y
|
RUN apt install manpages-dev man-db shc gcc build-essential iputils-ping nmap -y
|
||||||
COPY ./data/bin/firstconnect /usr/bin/firstconnect
|
COPY ./data/bin/firstconnect /usr/bin/firstconnect
|
||||||
RUN chmod 755 /usr/bin/firstconnect
|
RUN chmod 755 /usr/bin/firstconnect
|
||||||
RUN chown root:root /usr/bin/firstconnect
|
RUN chown root:root /usr/bin/firstconnect
|
||||||
RUN touch /etc/first
|
|
||||||
|
|
||||||
|
|
||||||
|
RUN mkdir /opt/deb
|
||||||
|
COPY ./data/bin/monithor-server_1.13-rebuild_all.deb /opt/deb
|
||||||
|
COPY ./data/bin/monithor-client_1.13-rebuild_all.deb /opt/deb
|
||||||
|
|
||||||
RUN service ssh start
|
RUN service ssh start
|
||||||
EXPOSE 22
|
EXPOSE 22
|
||||||
CMD ["/usr/sbin/sshd","-D"]
|
CMD ["/usr/sbin/sshd","-D"]
|
||||||
|
|||||||
19
connect.sh
Executable file
19
connect.sh
Executable file
@ -0,0 +1,19 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
#for var in $(cat docker-compose.yml | grep [A-Z].*-[A-Z]: | sed "s#:##g" | sed "s# .##g")
|
||||||
|
for var in $(cat docker-compose.yml | grep [A-Z].*: | grep -v part | cut -d":" -f1)
|
||||||
|
do
|
||||||
|
echo $var
|
||||||
|
done
|
||||||
|
|
||||||
|
read -p "Which docker instances do you want to restart ? " ans
|
||||||
|
|
||||||
|
Rdocker=$(docker ps | grep "$ans" | awk '{print $NF}')
|
||||||
|
|
||||||
|
if [[ ! -z $(cat docker-compose.yml | grep [A-Z].*: | grep -v part | cut -d":" -f1 | grep $ans) ]]
|
||||||
|
then
|
||||||
|
|
||||||
|
docker exec -ti $Rdocker bash
|
||||||
|
else
|
||||||
|
echo "$ans don't exist"
|
||||||
|
fi
|
||||||
1
data/Machina
Executable file
1
data/Machina
Executable file
@ -0,0 +1 @@
|
|||||||
|
client
|
||||||
15
data/admin/.bash_history
Normal file
15
data/admin/.bash_history
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
cd
|
||||||
|
ls
|
||||||
|
pwd
|
||||||
|
ll
|
||||||
|
ls
|
||||||
|
rm a
|
||||||
|
touch a
|
||||||
|
ll
|
||||||
|
ls -al
|
||||||
|
id
|
||||||
|
ll
|
||||||
|
ls
|
||||||
|
rm a
|
||||||
|
ls
|
||||||
|
vi /etc/hosts
|
||||||
39
data/admin/.viminfo
Normal file
39
data/admin/.viminfo
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
# This viminfo file was generated by Vim 8.2.
|
||||||
|
# You may edit it if you're careful!
|
||||||
|
|
||||||
|
# Viminfo version
|
||||||
|
|1,4
|
||||||
|
|
||||||
|
# Value of 'encoding' when this file was written
|
||||||
|
*encoding=latin1
|
||||||
|
|
||||||
|
|
||||||
|
# hlsearch on (H) or off (h):
|
||||||
|
~h
|
||||||
|
# Command Line History (newest to oldest):
|
||||||
|
:q
|
||||||
|
|2,0,1661249269,,"q"
|
||||||
|
|
||||||
|
# Search String History (newest to oldest):
|
||||||
|
|
||||||
|
# Expression History (newest to oldest):
|
||||||
|
|
||||||
|
# Input Line History (newest to oldest):
|
||||||
|
|
||||||
|
# Debug Line History (newest to oldest):
|
||||||
|
|
||||||
|
# Registers:
|
||||||
|
|
||||||
|
# File marks:
|
||||||
|
'0 1 0 /etc/hosts
|
||||||
|
|4,48,1,0,1661249269,"/etc/hosts"
|
||||||
|
|
||||||
|
# Jumplist (newest first):
|
||||||
|
-' 1 0 /etc/hosts
|
||||||
|
|4,39,1,0,1661249269,"/etc/hosts"
|
||||||
|
|
||||||
|
# History of marks within files (newest to oldest):
|
||||||
|
|
||||||
|
> /etc/hosts
|
||||||
|
* 1661249268 0
|
||||||
|
" 1 0
|
||||||
@ -4,6 +4,7 @@ if [[ -f /etc/first ]]
|
|||||||
then
|
then
|
||||||
[[ -f /home/isen/.gen/hostname ]] && cat /home/isen/.gen/hostname | sudo tee -a /etc/hosts &> /dev/null
|
[[ -f /home/isen/.gen/hostname ]] && cat /home/isen/.gen/hostname | sudo tee -a /etc/hosts &> /dev/null
|
||||||
[[ -f /home/isen/.gen/backup.sh ]] && /usr/bin/shc -f /home/isen/.gen/backup.sh -o /home/isen/backup_isen && sudo rm -f /home/isen/backup.sh.x.c
|
[[ -f /home/isen/.gen/backup.sh ]] && /usr/bin/shc -f /home/isen/.gen/backup.sh -o /home/isen/backup_isen && sudo rm -f /home/isen/backup.sh.x.c
|
||||||
|
sudo mv /home/isen/backup_isen /usr/bin/
|
||||||
[[ -f /home/isen/.gen/motd ]] && sudo cp /home/isen/.gen/motd /etc/motd
|
[[ -f /home/isen/.gen/motd ]] && sudo cp /home/isen/.gen/motd /etc/motd
|
||||||
[[ -d /home/isen/.ssh ]] && mv /home/isen/.ssh /home/isen/.ssh.orig
|
[[ -d /home/isen/.ssh ]] && mv /home/isen/.ssh /home/isen/.ssh.orig
|
||||||
[[ -d /home/isen/.gen/.ssh ]] && cp -rp /home/isen/.gen/.ssh /home/isen/.ssh
|
[[ -d /home/isen/.gen/.ssh ]] && cp -rp /home/isen/.gen/.ssh /home/isen/.ssh
|
||||||
@ -35,6 +36,7 @@ if [[ -f /etc/first ]]
|
|||||||
echo -n "."
|
echo -n "."
|
||||||
done
|
done
|
||||||
sudo rm /etc/first
|
sudo rm /etc/first
|
||||||
|
sudo rm -Rf /home/isen/.gen /home/isen/.ssh.orig
|
||||||
killall -9 bash
|
killall -9 bash
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|||||||
9
data/dice.ascii
Normal file
9
data/dice.ascii
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
|
||||||
|
.-------.
|
||||||
|
/ * /|
|
||||||
|
/_______/ |
|
||||||
|
| |*|
|
||||||
|
| * | /
|
||||||
|
| |/
|
||||||
|
'-------'
|
||||||
|
|
||||||
7
data/liste
Normal file → Executable file
7
data/liste
Normal file → Executable file
@ -1,2 +1,5 @@
|
|||||||
DEMO Neo
|
ASTIER Guillaume
|
||||||
DEMO Trinity
|
LEFBVRE Loic
|
||||||
|
CASTANESS Yann
|
||||||
|
EVIL Empire
|
||||||
|
|
||||||
|
|||||||
10
data/liste.sample
Normal file
10
data/liste.sample
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
ASTIER Guillaume
|
||||||
|
LEFEBVRE Loic
|
||||||
|
CATANESE Yann
|
||||||
|
USER One
|
||||||
|
MAN Two
|
||||||
|
GUY Three
|
||||||
|
DEMO Guillaume
|
||||||
|
DEMO Yann
|
||||||
|
DEMO Loic
|
||||||
|
|
||||||
@ -1,11 +1,11 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
Backup=$(date +%s)_$(hostname)_isen.tar.bz2
|
Backup=$(date +%Y%m%d%H%M)_$(hostname)_isen.tar.bz2
|
||||||
|
|
||||||
echo "BACKUP : /home/isen/${Backup}"
|
echo "BACKUP : /home/isen/${Backup}"
|
||||||
|
|
||||||
echo -n "ARCHIVE : "
|
echo -n "ARCHIVE : "
|
||||||
sudo tar -jcvf /tmp/${Backup} /home/isen /root/ /etc/&> /dev/null
|
sudo tar -jcvf /tmp/${Backup} --exclude=/home/isen/*_isen.tar.bz2 /home/isen/Notes &> /dev/null
|
||||||
[[ $? -eq 0 ]] && echo OK || echo FAILED
|
[[ $? -eq 0 ]] && echo OK || echo FAILED
|
||||||
|
|
||||||
echo -n "COPY : "
|
echo -n "COPY : "
|
||||||
|
|||||||
9
dice.ascii
Normal file
9
dice.ascii
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
|
||||||
|
.-------.
|
||||||
|
/ * /|
|
||||||
|
/_______/ |
|
||||||
|
| |*|
|
||||||
|
| * | /
|
||||||
|
| |/
|
||||||
|
'-------'
|
||||||
|
|
||||||
@ -1,3 +1,18 @@
|
|||||||
|
admin:
|
||||||
|
image: isensshbase
|
||||||
|
hostname: astier-g-m1
|
||||||
|
mem_limit: 256m
|
||||||
|
mem_reservation: 128M
|
||||||
|
cpus: 0.5
|
||||||
|
storage_opt:
|
||||||
|
size: '2G'
|
||||||
|
volumes:
|
||||||
|
- './data/admin:/home/isen'
|
||||||
|
networks:
|
||||||
|
vpcbr:
|
||||||
|
ipv4_address: 10.10.10.244
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
networks:
|
networks:
|
||||||
vpcbr:
|
vpcbr:
|
||||||
|
|||||||
86
generate.sh
86
generate.sh
@ -1,6 +1,8 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
|
|
||||||
|
cd $(dirname $0)
|
||||||
|
|
||||||
usage () {
|
usage () {
|
||||||
|
|
||||||
Res=$1
|
Res=$1
|
||||||
@ -18,9 +20,17 @@ usage () {
|
|||||||
[[ "$(whoami)" != "root" ]] && usage 1
|
[[ "$(whoami)" != "root" ]] && usage 1
|
||||||
|
|
||||||
Liste=./data/liste
|
Liste=./data/liste
|
||||||
|
ListeMachinaUser=./data/Machina
|
||||||
ID=2000
|
ID=2000
|
||||||
tID=2
|
tID=2
|
||||||
|
TMP=$(dirname $0)/tmp/
|
||||||
|
TMP=/tmp
|
||||||
|
|
||||||
|
[[ ! -d $TMP ]] && mkdir $TMP
|
||||||
|
|
||||||
|
[[ $(whoami) != "root" ]] && usage
|
||||||
|
cp docker-compose.yml.template.head ${TMP}/docker-compose.yml
|
||||||
|
rm -f ${TMP}/hostname
|
||||||
BinNeed="figlet mke2fs truncate docker docker-compose "
|
BinNeed="figlet mke2fs truncate docker docker-compose "
|
||||||
|
|
||||||
CheckBinCpt=0
|
CheckBinCpt=0
|
||||||
@ -32,24 +42,55 @@ for CheckBin in ${BinNeed}
|
|||||||
[[ ${CheckBinCpt} -ne 0 ]] && usage 2
|
[[ ${CheckBinCpt} -ne 0 ]] && usage 2
|
||||||
|
|
||||||
|
|
||||||
|
[[ "$1" == "del" ]] && read -p "ARE YOU SURE BIATCH ?????? (yes/no) : " ans
|
||||||
|
|
||||||
cp docker-compose.yml.template.head /tmp/docker-compose.yml
|
for User in $(cat ${Liste} | grep ^[A-Z][A-Z].*\ [A-Z][a-z] | sed "s#[a-z]#|#g" | cut -d"|" -f1 | sed "s#-# #g"| sed "s# \+#-#g"| iconv -f utf8 -t ascii//TRANSLIT )
|
||||||
[ -f /tmp/hostname ] && rm /tmp/hostname
|
|
||||||
|
|
||||||
|
|
||||||
for User in $(cat ${Liste} | grep ^[A-Z][A-Z].*\ [A-Z][a-z] | sed "s#[a-z]#|#g" | cut -d"|" -f1 | sed "s#-# #g"| sed "s# \+#-#g")
|
|
||||||
do
|
do
|
||||||
tID=$(($tID+1))
|
|
||||||
|
|
||||||
#if [[ ! -z $(mount | grep ${User}) ]] && [[ "$1" == "del" ]]
|
echo -e "USER : $User"
|
||||||
if [[ "$1" == "del" ]]
|
for Machina in $(cat ${ListeMachinaUser})
|
||||||
|
do
|
||||||
|
tID=$(($tID+1))
|
||||||
|
|
||||||
|
|
||||||
|
if [[ "$1" == "mount" ]]
|
||||||
|
then
|
||||||
|
mount ./data/students/part/${User}_${Machina} ./data/students/part/${User}_${Machina}_part
|
||||||
|
|
||||||
|
#if [[ ! -z $(mount | grep ${User}_${Machina}) ]] && [[ "$1" == "del" ]]
|
||||||
|
elif [[ "$1" == "del" ]]
|
||||||
then
|
then
|
||||||
|
echo -e "\tDEL : $Machina [10.10.10.${tID}]"
|
||||||
|
for var in $(docker-compose ps | grep -v NAME | awk '{print $1}' | grep ${User}_${Machina}); do docker stop $var;docker rm $var; done &> /dev/null
|
||||||
|
|
||||||
|
umount ./data/students/part/${User}_${Machina}_part
|
||||||
|
rm -Rf ./data/students/part/${User}_${Machina}_part
|
||||||
|
rm ./data/students/part/${User}_${Machina}
|
||||||
[[ ! -z $(mount | grep ${User}_part) ]] && umount ./data/students/part/${User}_part
|
[[ ! -z $(mount | grep ${User}_part) ]] && umount ./data/students/part/${User}_part
|
||||||
[[ -d ./data/students/part/${User}_part ]] && rm -Rf ./data/students/part/${User}_part
|
[[ -d ./data/students/part/${User}_part ]] && rm -Rf ./data/students/part/${User}_part
|
||||||
[[ -f ./data/students/part/${User} ]] && rm ./data/students/part/${User}
|
[[ -f ./data/students/part/${User} ]] && rm ./data/students/part/${User}
|
||||||
else
|
else
|
||||||
if [[ ! -f ./data/students/part/${User} ]]
|
if [[ ! -f ./data/students/part/${User}_${Machina} ]]
|
||||||
then
|
then
|
||||||
|
echo -e "\t GEN : $Machina [10.10.10.${tID}]"
|
||||||
|
touch ./data/students/part/${User}_${Machina}
|
||||||
|
mkdir ./data/students/part/${User}_${Machina}_part
|
||||||
|
truncate -s 200M ./data/students/part/${User}_${Machina} &> /dev/null
|
||||||
|
mke2fs -t ext4 -F ./data/students/part/${User}_${Machina} &> /dev/null
|
||||||
|
mount ./data/students/part/${User}_${Machina} ./data/students/part/${User}_${Machina}_part
|
||||||
|
cp -Rf ./data/skel/. ./data/students/part/${User}_${Machina}_part/
|
||||||
|
mkdir ./data/students/part/${User}_${Machina}_part/.gen/
|
||||||
|
mv ./data/students/part/${User}_${Machina}_part/backup.sh ./data/students/part/${User}_${Machina}_part/.gen/
|
||||||
|
echo "host : ${User^^}" | figlet -f small > ${TMP}/motd
|
||||||
|
#echo "---------" | figlet >> /${TMP}/motd
|
||||||
|
echo "Isen 2022 - MTN"| figlet -f small >> ${TMP}/motd
|
||||||
|
cp -rfp ./data/ssh/ ./data/students/part/${User}_${Machina}_part/.gen/.ssh
|
||||||
|
cp -rfp ./data/ssh/ ./data/students/part/${User}_${Machina}_part/.ssh
|
||||||
|
cp ${TMP}/motd ./data/students/part/${User}_${Machina}_part/.gen/
|
||||||
|
mkdir -p ./data/students/part/${User}_${Machina}_part/Notes/{C01,C02,C03,C04}/
|
||||||
|
[[ -z $(echo $User | grep -iE "astier|lefebvre|catanese") ]] && rm -f ./data/students/part/${User}_${Machina}_part/.gen/.ssh/id* ./data/students/part/${User}_${Machina}_part/.ssh/id*
|
||||||
|
chown -Rf 1000:1000 ./data/students/part/${User}_${Machina}_part/
|
||||||
|
echo "10.10.10.${tID} ${User,,}"-${Machina} >> ${TMP}/hostname
|
||||||
echo "Generate $User"
|
echo "Generate $User"
|
||||||
mkdir -p ./data/students/part/
|
mkdir -p ./data/students/part/
|
||||||
touch ./data/students/part/${User}
|
touch ./data/students/part/${User}
|
||||||
@ -76,20 +117,39 @@ for User in $(cat ${Liste} | grep ^[A-Z][A-Z].*\ [A-Z][a-z] | sed "s#[a-z]#|#g"
|
|||||||
chown -Rf 1000:1000 ./data/students/part/${User}_part/
|
chown -Rf 1000:1000 ./data/students/part/${User}_part/
|
||||||
echo "10.10.10.${tID} ${User,,}" | tee -a /tmp/hostname &> /dev/null
|
echo "10.10.10.${tID} ${User,,}" | tee -a /tmp/hostname &> /dev/null
|
||||||
echo "
|
echo "
|
||||||
${User}:
|
${User}_${Machina}:
|
||||||
image: isensshbase
|
image: isensshbase
|
||||||
hostname: ${User,,}
|
hostname: ${User,,}-${Machina}
|
||||||
|
mem_limit: 256m
|
||||||
|
mem_reservation: 128M
|
||||||
|
cpus: 0.5
|
||||||
|
storage_opt:
|
||||||
|
size: '2G'
|
||||||
volumes:
|
volumes:
|
||||||
- "./data/students/part/${User}_part:/home/isen"
|
- './data/students/part/${User}_${Machina}_part:/home/isen'
|
||||||
networks:
|
networks:
|
||||||
vpcbr:
|
vpcbr:
|
||||||
ipv4_address: 10.10.10.${tID}
|
ipv4_address: 10.10.10.${tID}
|
||||||
" | tee -a /tmp/docker-compose.yml &> /dev/null
|
|
||||||
|
" >> ${TMP}/docker-compose.yml
|
||||||
|
else
|
||||||
|
mount ./data/students/part/${User}_${Machina} ./data/students/part/${User}_${Machina}_part
|
||||||
|
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
done
|
done
|
||||||
|
|
||||||
|
cat docker-compose.yml.template.footer >> ${TMP}/docker-compose.yml
|
||||||
|
cp ${TMP}/docker-compose.yml .
|
||||||
|
for Dir in $( ls -1 ./data/students/part/ | grep _part)
|
||||||
|
do
|
||||||
|
cp ${TMP}/hostname ./data/students/part/${Dir}/.gen
|
||||||
|
done
|
||||||
|
|
||||||
|
|
||||||
|
chmod 777 ./docker-compose.yml
|
||||||
cat docker-compose.yml.template.footer | tee -a /tmp/docker-compose.yml &> /dev/null
|
cat docker-compose.yml.template.footer | tee -a /tmp/docker-compose.yml &> /dev/null
|
||||||
cp /tmp/docker-compose.yml .
|
cp /tmp/docker-compose.yml .
|
||||||
for Dir in $( ls -1 ./data/students/part/ | grep _part)
|
for Dir in $( ls -1 ./data/students/part/ | grep _part)
|
||||||
|
|||||||
6
loop_from_hell
Executable file
6
loop_from_hell
Executable file
@ -0,0 +1,6 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
while true
|
||||||
|
do
|
||||||
|
echo $((RANDOM+RANDOM))
|
||||||
|
done
|
||||||
10
mount.sh
Executable file
10
mount.sh
Executable file
@ -0,0 +1,10 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
|
||||||
|
cd /disk/DOCKER/isen-docker-farm/data/students/part
|
||||||
|
|
||||||
|
|
||||||
|
for var in $(ls -1 | grep -v part)
|
||||||
|
do
|
||||||
|
mount $var ${var}_part
|
||||||
|
done
|
||||||
29
push_file
Executable file
29
push_file
Executable file
@ -0,0 +1,29 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
usage () {
|
||||||
|
|
||||||
|
[[ -z $? ]] && out=0 || out=$?
|
||||||
|
|
||||||
|
echo "push file in arguement in all docker isen instances"
|
||||||
|
echo "$0 file where"
|
||||||
|
|
||||||
|
exit $out
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
[[ -z $1 ]] && usage 1
|
||||||
|
[[ -z $2 ]] && usage 1
|
||||||
|
|
||||||
|
[[ ! -f $1 ]] && usage 2
|
||||||
|
|
||||||
|
|
||||||
|
for DI in $(docker ps | grep isenssh | awk '{print $NF}')
|
||||||
|
do
|
||||||
|
echo -n "$DI : "
|
||||||
|
docker cp ${1} ${DI}:${2} &> /dev/null
|
||||||
|
[[ $? -eq 0 ]] && echo OK || echo FAILED
|
||||||
|
|
||||||
|
done
|
||||||
|
|
||||||
|
|
||||||
@ -1,14 +1,20 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
for var in $(cat docker-compose.yml | grep [A-Z].*-[A-Z]: | sed "s#:##g" | sed "s# .##g")
|
#for var in $(cat docker-compose.yml | grep [A-Z].*-[A-Z]: | sed "s#:##g" | sed "s# .##g")
|
||||||
|
for var in $(cat docker-compose.yml | grep [A-Z].*: | grep -v part | cut -d":" -f1)
|
||||||
do
|
do
|
||||||
echo $var
|
echo $var
|
||||||
done
|
done
|
||||||
|
|
||||||
read -p "Which docker instances do you want to restart ? " ans
|
read -p "Which docker instances do you want to restart ? " ans
|
||||||
|
|
||||||
if [[ ! -z $(cat docker-compose.yml | grep [A-Z].*-[A-Z]: | sed "s#:##g" | sed "s# .##g" | grep $ans) ]]
|
Rdocker=$(docker ps | grep "$ans" | awk '{print $NF}')
|
||||||
|
|
||||||
|
if [[ ! -z $(cat docker-compose.yml | grep [A-Z].*: | grep -v part | cut -d":" -f1 | grep $ans) ]]
|
||||||
then
|
then
|
||||||
|
|
||||||
|
docker stop $Rdocker
|
||||||
|
docker rm $Rdocker
|
||||||
docker-compose up -d --no-deps $ans
|
docker-compose up -d --no-deps $ans
|
||||||
else
|
else
|
||||||
echo "$ans don't exist"
|
echo "$ans don't exist"
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user