Archive for marzo, 2022
Tenes que hacer un script de bash en donde se conecte a un contenedor de mysql y realice un backup de las db que contiene?
Bueno perdí muchísimo tiempo con esto y putie en diferentes idiomas por no encontrar el puto error. Primero pensé que era un tema del script, pero el mismo funcionaba bien si lo corría a mano. Así que imagine que venia por algo similar a crontab y su tema de las variables de entorno. Y no tampoco. Entonces busque como se hacen los script de backup y encontré lo siguiente.
docker exec $container_name mysqldump -u root -p$mysql_root_password $database >
Obviamente compare con lo que yo hacia y entendí que el problema venia por que yo llamaba al contenedor con los argumentos -t -i y eso era lo que no funcionaba.
La solución es algo similar a lo siguiente.
docker exec nombrecontenedormysql mysqldump -u root -pclave db > db.sql
Posta perdí muchísimo tiempo. Y me sentí muy mal por que me eche la culpa por no saber tanto como me gustaría de bash script.
marzo 31, 2022 at 11:32 pm
Tengo que eliminar a partir de una subcarpeta.
a/b/c
Quiero que solo elimine a partir de c para arriba.
#!/bin/bash
shopt -s dotglob
arch=/tmp/a/b/*/
rm -rf $arch
shopt -u dotglob
marzo 30, 2022 at 12:24 pm
# Me guió de este genio
# https://www.youtube.com/channel/UCpxIb4Sqg4MuuPnMv0O9P3w
mkdir wp && cd $_
vi docker-compose.yaml
docker-compose.yml
version: '3.1'
services:
wordpress:
container_name: wp-1
image: wordpress:latest
restart: "always"
ports:
- "80:80"
volumes:
- ./wordpress:/var/www/html
environment:
WORDPRESS_DB_HOST: db
WORDPRESS_DB_USER: user
WORDPRESS_DB_PASSWORD: password
WORDPRESS_DB_NAME: wordpress
db:
container_name: mysql-1
image: mysql:8.0.19
command: --default-authentication-plugin=mysql_native_password
restart: "always"
volumes:
- ./db:/var/lib/mysql
environment:
MYSQL_DATABASE: wordpress
MYSQL_USER: user
MYSQL_PASSWORD: password
MYSQL_RANDOM_ROOT_PASSWORD: '1'
phpmyadmin:
container_name: phpmyadmin-1
depends_on:
- db
image: phpmyadmin/phpmyadmin
links:
- db
ports:
- "8080:80"
restart: "always"
cli:
container_name: cli-1
image: wordpress:cli
volumes:
- ./wordpress:/var/www/html
environment:
WORDPRESS_DB_HOST: db
WORDPRESS_DB_USER: user
WORDPRESS_DB_PASSWORD: password
WORDPRESS_DB_NAME: wordpress
docker-compose up -d
# Tengo que seguir revisando, pero es el primer ejemplo groso que me anduvo. # Así que es una buena partida.
marzo 25, 2022 at 12:28 am
Quiero hacer un backup de una carpeta dentro de otras carpetas. Y por eso no logre deshacerme de las carpetas padre de las mismas. Es decir tengo
a/b/c
y dentro de c tengo d que es lo que quiero.
Bueno mas o menos asi lo solucione.
#!/bin/bash
# Genero una fecha
fecha=$(date +"%d-%m-%y")
# Una variable para archivo y fecha
backup=bck-$fecha.tar
# Acá en donde tengo los archivos
archivos=/home/ed/Archivos/
# Ruta del comando tar
cmd=$(which tar)
# Ruta del comando find
f=$(which find)
$f $archivos -execdir $cmd -cpf $backup {} \;
marzo 23, 2022 at 7:12 pm
# Me guio de
https://www.howtoforge.com/how-to-install-and-configure-openvpn-server-on-debian-10/
# Server
192.168.0.18
# Cliente
192.168.0.24
sudo vi /etc/sysctl.conf
# Descomentar la linea
net.ipv4.ip_forward=1
sudo sysctl -p
sudo apt-get install openvpn -y
sudo cp -r /usr/share/easy-rsa /etc/openvpn/
cd /etc/openvpn/easy-rsa
sudo mv vars.example vars
sudo vi vars
export KEY_COUNTRY="ARGENTINA"
export KEY_PROVINCE="BA"
export KEY_CITY="Buenos Aires"
export KEY_ORG="Mandarinas"
export KEY_EMAIL="pablohernanjuan@hotmail.com.com"
export KEY_OU="OpenVPN"
sudo ./easyrsa init-pki
sudo ./easyrsa build-ca nopass
# respondemos en la linea (server)
Common Name (eg: your user, host, or server name) [Easy-RSA CA]:server
sudo ./easyrsa gen-req server nopass
sudo ./easyrsa sign-req server server
sudo ./easyrsa gen-dh
sudo openvpn --genkey --secret ta.key
sudo cp ta.key /etc/openvpn/
sudo cp pki/ca.crt /etc/openvpn/
sudo cp pki/private/server.key /etc/openvpn/
sudo cp pki/issued/server.crt /etc/openvpn/
sudo cp pki/dh.pem /etc/openvpn/
sudo ./easyrsa gen-req client nopass
sudo ./easyrsa sign-req client client
sudo cp pki/ca.crt /etc/openvpn/client/
sudo cp pki/issued/client.crt /etc/openvpn/client/
sudo cp pki/private/client.key /etc/openvpn/client/
sudo vi /etc/openvpn/server.conf
port 1194
proto udp
dev tun
ca ca.crt
cert server.crt
key server.key # This file should be kept secret
dh dh.pem
server 10.8.0.0 255.255.255.0
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"
keepalive 10 120
tls-auth ta.key 0 # This file is secret
cipher AES-256-CBC
user nobody
group nogroup
persist-key
persist-tun
status /var/log/openvpn/openvpn-status.log
log /var/log/openvpn/openvpn.log
log-append /var/log/openvpn/openvpn.log
verb 3
explicit-exit-notify 1
sudo systemctl start openvpn@server
sudo systemctl status openvpn@server
################
#OpenVPN Client
################
sudo apt-get install openvpn -y
sudo vi /etc/openvpn/client.conf
client
dev tun
proto udp
remote 192.168.0.18 1194
resolv-retry infinite
nobind
user nobody
group nogroup
persist-key
persist-tun
ca ca.crt
cert client.crt
key client.key
remote-cert-tls server
tls-auth ta.key 1
cipher AES-256-CBC
verb 3
sudo scp root@192.168.0.18:/etc/openvpn/client/ca.crt /etc/openvpn/
sudo scp root@192.168.0.18:/etc/openvpn/client/client.crt /etc/openvpn/
sudo scp root@192.168.0.18:/etc/openvpn/client/client.key /etc/openvpn/
sudo scp root@192.168.0.18:/etc/openvpn/ta.key /etc/openvpn/
sudo systemctl start openvpn@client
marzo 23, 2022 at 12:06 am
# Creo la carpeta y me meto ahi
mkdir owncloud && cd $_
# Recomendable ponerle datos seguros a las claves
# Armamos el .env
vi .env
OWNCLOUD_VERSION=10.9.1
OWNCLOUD_DOMAIN=localhost:8080
ADMIN_USERNAME=admin
ADMIN_PASSWORD=admin
HTTP_PORT=8080
OWNCLOUD_DB_NAME=owncloud
OWNCLOUD_DB_USERNAME=owncloud
OWNCLOUD_DB_PASSWORD=owncloud
MYSQL_ROOT_PASSWORD=owncloud
MYSQL_USER=owncloud
MYSQL_PASSWORD=owncloud
MYSQL_DATABASE=owncloud
# Armamos el docker-compose
vi docker-compose.yml
version: "3"
volumes:
files:
driver: local
mysql:
driver: local
services:
owncloud:
image: owncloud/server:${OWNCLOUD_VERSION}
container_name: owncloud_server
restart: always
env_file:
- ./.env
ports:
- ${HTTP_PORT}:8080
depends_on:
- mariadb
environment:
- OWNCLOUD_DOMAIN=${OWNCLOUD_DOMAIN}
- OWNCLOUD_DB_TYPE=mysql
- OWNCLOUD_DB_NAME=${OWNCLOUD_DB_NAME}
- OWNCLOUD_DB_USERNAME=${OWNCLOUD_DB_USERNAME}
- OWNCLOUD_DB_PASSWORD=${OWNCLOUD_DB_PASSWORD}
- OWNCLOUD_DB_HOST=mariadb
- OWNCLOUD_ADMIN_USERNAME=${ADMIN_USERNAME}
- OWNCLOUD_ADMIN_PASSWORD=${ADMIN_PASSWORD}
- OWNCLOUD_MYSQL_UTF8MB4=true
volumes:
- files:/mnt/data
mariadb:
image: mariadb:10.5
container_name: owncloud_mariadb
restart: always
env_file:
- ./.env
environment:
- MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
- MYSQL_USER=${MYSQL_USER}
- MYSQL_PASSWORD=${MYSQL_PASSWORD}
- MYSQL_DATABASE=${MYSQL_DATABASE}
volumes:
- mysql:/var/lib/mysql
docker-compose up -d
marzo 15, 2022 at 11:13 pm
# Construí una imagen de docker que estoy metiendo en un deployment.
# El tema es que para que kubernete no descargue la imagen y la busque localmente
# Hay que tocar imagePullPolicy: IfNotPresent. Pero en minikube no funciona.
# Solución
https://stackoverflow.com/questions/42564058/how-to-use-local-docker-images-with-minikube
respuesta 26
# Corres esto
eval $(minikube docker-env)
# Vuelves a correr la construcción de la imagen
docker build -t k8s-hands-on -f Dockerfile .
# Le metes un tag
docker tag 95a165e8d43a k8s-hands-on/v1
# y seteas nunca imagepullpolicy
image: k8s-hands-on/v1
imagePullPolicy: Never
marzo 15, 2022 at 3:20 pm
# Opción 1
https://doc.owncloud.com/server/10.9/admin_manual/installation/docker/
# Creo la carpeta y me meto ahi
mkdir owncloud && cd $_
# Recomendable ponerle datos seguros a las claves
# Armamos el .env
vi .env
OWNCLOUD_VERSION=10.9.1
OWNCLOUD_DOMAIN=localhost:8080
ADMIN_USERNAME=admin
ADMIN_PASSWORD=admin
HTTP_PORT=8080
OWNCLOUD_DB_NAME=owncloud
OWNCLOUD_DB_USERNAME=owncloud
OWNCLOUD_DB_PASSWORD=owncloud
MYSQL_ROOT_PASSWORD=owncloud
MYSQL_USER=owncloud
MYSQL_PASSWORD=owncloud
MYSQL_DATABASE=owncloud
# Armamos el docker-compose
vi docker-compose.yml
version: "3"
volumes:
files:
driver: local
mysql:
driver: local
redis:
driver: local
services:
owncloud:
image: owncloud/server:${OWNCLOUD_VERSION}
container_name: owncloud_server
restart: always
env_file:
- ./.env
ports:
- ${HTTP_PORT}:8080
depends_on:
- mariadb
- redis
environment:
- OWNCLOUD_DOMAIN=${OWNCLOUD_DOMAIN}
- OWNCLOUD_DB_TYPE=mysql
- OWNCLOUD_DB_NAME=${OWNCLOUD_DB_NAME}
- OWNCLOUD_DB_USERNAME=${OWNCLOUD_DB_USERNAME}
- OWNCLOUD_DB_PASSWORD=${OWNCLOUD_DB_PASSWORD}
- OWNCLOUD_DB_HOST=mariadb
- OWNCLOUD_ADMIN_USERNAME=${ADMIN_USERNAME}
- OWNCLOUD_ADMIN_PASSWORD=${ADMIN_PASSWORD}
- OWNCLOUD_MYSQL_UTF8MB4=true
- OWNCLOUD_REDIS_ENABLED=true
- OWNCLOUD_REDIS_HOST=redis
healthcheck:
test: ["CMD", "/usr/bin/healthcheck"]
interval: 30s
timeout: 10s
retries: 5
volumes:
- files:/mnt/data
mariadb:
image: mariadb:10.5
container_name: owncloud_mariadb
restart: always
env_file:
- ./.env
environment:
- MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
- MYSQL_USER=${MYSQL_USER}
- MYSQL_PASSWORD=${MYSQL_PASSWORD}
- MYSQL_DATABASE=${MYSQL_DATABASE}
command: ["--max-allowed-packet=128M", "--innodb-log-file-size=64M"]
healthcheck:
test: ["CMD", "mysqladmin", "ping", "-u", "root", "--password=owncloud"]
interval: 10s
timeout: 5s
retries: 5
volumes:
- mysql:/var/lib/mysql
redis:
image: redis:6
container_name: owncloud_redis
restart: always
command: ["--databases", "1"]
healthcheck:
test: ["CMD", "redis-cli", "ping"]
interval: 10s
timeout: 5s
retries: 5
volumes:
- redis:/data
docker-compose.yml up -d
marzo 15, 2022 at 12:42 pm
Older Posts
Comentarios recientes