actual. git-linux
This commit is contained in:
@@ -151,7 +151,51 @@ Copia el backup al host
|
|||||||
|
|
||||||
`docker cp gitea:/data/gitea-dump-YYYY-MM-DD.zip .`
|
`docker cp gitea:/data/gitea-dump-YYYY-MM-DD.zip .`
|
||||||
|
|
||||||
|
Version 2 (funciona)
|
||||||
|
Borrar backup anterior dentro de gitea
|
||||||
|
docker exec -u 1000:1000 gitea rm -f /data/git/gitea-backup.zip
|
||||||
|
Comprueba:
|
||||||
|
docker exec gitea ls -lh /data/git/gitea-backup.zip
|
||||||
|
Debería responder que no existe.
|
||||||
|
Ahora nuevo backup:
|
||||||
|
docker exec -u 1000:1000 gitea \
|
||||||
|
gitea dump --file /data/git/gitea-backup.zip
|
||||||
|
Comprueba que se ha generado:
|
||||||
|
docker exec gitea ls -lh /data/git/gitea-backup.zip
|
||||||
|
Copiar el backup al host:
|
||||||
|
docker cp gitea:/data/git/gitea-backup.zip ./gitea-backup.zip
|
||||||
|
Comprueba cuántos repositorios tiene realmente el dump
|
||||||
|
unzip -l gitea-backup.zip | grep '\.git/'
|
||||||
|
Extraer el zip en una carpeta
|
||||||
|
unzip gitea-backup.zip -d nombrecarpeta
|
||||||
|
En un gitea dump, los repositorios normalmente están dentro del ZIP bajo una estructura parecida a:
|
||||||
|
|
||||||
|
gitea-dump-2026-08-04.zip
|
||||||
|
├── app.ini
|
||||||
|
├── custom/
|
||||||
|
├── data/
|
||||||
|
├── log/
|
||||||
|
├── repos/
|
||||||
|
│ ├── usuario1/
|
||||||
|
│ │ ├── repo1.git/
|
||||||
|
│ │ └── repo2.git/
|
||||||
|
│ └── usuario2/
|
||||||
|
│ └── proyecto.git/
|
||||||
|
└── ...
|
||||||
|
|
||||||
|
|
||||||
|
Si el repositorio estaba, por ejemplo, en:
|
||||||
|
repos/pepe/web.git/
|
||||||
|
haz:
|
||||||
|
git clone repos/pepe/web.git web
|
||||||
|
|
||||||
|
script sh
|
||||||
|
#!/bin/bash
|
||||||
|
BACKUP="gitea-backup-$(date +%Y-%m-%d).zip"
|
||||||
|
docker exec -u 1000:1000 gitea \
|
||||||
|
gitea dump --file "/data/git/$BACKUP"
|
||||||
|
docker cp "gitea:/data/git/$BACKUP" "./$BACKUP"
|
||||||
|
|
||||||
|
|
||||||
**Restore**
|
**Restore**
|
||||||
|
|
||||||
@@ -187,7 +231,8 @@ Esto:
|
|||||||
|
|
||||||
5️⃣ Sal y arranca el contenedor
|
5️⃣ Sal y arranca el contenedor
|
||||||
|
|
||||||
exit docker start gitea
|
exit
|
||||||
|
docker start gitea
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
+40
-13
@@ -1,5 +1,24 @@
|
|||||||
# AYUDA LINUX
|
# AYUDA LINUX
|
||||||
|
|
||||||
|
|
||||||
|
**ACTUALIZAR DISTRO UBUNTU DESDE TERMINAL**
|
||||||
|
sudo apt update && sudo apt upgrade && sudo apt dist-upgrade
|
||||||
|
sudo do-release-upgrade
|
||||||
|
Consultar distro:
|
||||||
|
sudo do-release-upgrade -c
|
||||||
|
Checking for a new Ubuntu release
|
||||||
|
No new release found.
|
||||||
|
Es un resultado normal, no un fallo. Cuando se abre la ruta de actualización, el mismo comando muestra la versión y el mismo mensaje aparece en el banner de inicio de sesión:
|
||||||
|
New release '26.04.1 LTS' available.
|
||||||
|
Run 'do-release-upgrade' to upgrade to it.
|
||||||
|
|
||||||
|
Ver/modificar para que se actualice a version LTS, normal o nunca.
|
||||||
|
cat /etc/update-manager/release-upgrades
|
||||||
|
# never - Never check for, or allow upgrading to, a new release.
|
||||||
|
# normal - Check to see if a new release is available.
|
||||||
|
# lts - Check to see if a new LTS release is available.
|
||||||
|
Prompt=lts
|
||||||
|
|
||||||
**Navegación y Exploración**
|
**Navegación y Exploración**
|
||||||
|
|
||||||
clear ctrl+l limpiar terminalpwd – Muestra el directorio actual (Print Working Directory).ls – Lista archivos y directorios.
|
clear ctrl+l limpiar terminalpwd – Muestra el directorio actual (Print Working Directory).ls – Lista archivos y directorios.
|
||||||
@@ -55,6 +74,19 @@ grep – Busca texto dentro de archivos.
|
|||||||
grep "palabra" archivo.txt
|
grep "palabra" archivo.txt
|
||||||
grep -r "texto" /directorio/ (búsqueda recursiva).
|
grep -r "texto" /directorio/ (búsqueda recursiva).
|
||||||
|
|
||||||
|
\--
|
||||||
|
|
||||||
|
fdfind
|
||||||
|
|
||||||
|
sudo apt install fd-find
|
||||||
|
|
||||||
|
uso fdfind hola.txt
|
||||||
|
|
||||||
|
crear alias para usar solo fd
|
||||||
|
|
||||||
|
echo 'alias fd=fdfind' /.bashrc
|
||||||
|
source \~/.bashrc
|
||||||
|
|
||||||
**Buscar y borrar duplicados**
|
**Buscar y borrar duplicados**
|
||||||
|
|
||||||
sudo apt install fdupes
|
sudo apt install fdupes
|
||||||
@@ -220,7 +252,6 @@ kill -9 \<PID> Forzar matar proceso 
|
|||||||
|
|
||||||
sudo systemctl stop gunicorn Parar proceso iniciado como servicio systemd
|
sudo systemctl stop gunicorn Parar proceso iniciado como servicio systemd
|
||||||
|
|
||||||
|
|
||||||
**DIRECTORIOS Y ARCHIVOS**
|
**DIRECTORIOS Y ARCHIVOS**
|
||||||
ls listar directorio
|
ls listar directorio
|
||||||
ls -lah -l lista, -a ocultos, -h tamaño
|
ls -lah -l lista, -a ocultos, -h tamaño
|
||||||
@@ -493,10 +524,6 @@ UBUNTU DESKTOP ACCESOS mysql root (no tiene contraseña) 123Passowrd! Contraseñ
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
**ACTUALIZAR DISTRO UBUNTU DESDE TERMINAL**
|
|
||||||
sudo apt update && sudo apt upgrade && sudo apt dist-upgrade
|
|
||||||
sudo do-release-upgrade
|
|
||||||
|
|
||||||
**PAPELEREA EN ESCRITORIO**
|
**PAPELEREA EN ESCRITORIO**
|
||||||
|
|
||||||
gsettings set org.gnome.shell.extensions.ding show-trash true gsettings set org.gnome.shell.extensions.ding show-trash false
|
gsettings set org.gnome.shell.extensions.ding show-trash true gsettings set org.gnome.shell.extensions.ding show-trash false
|
||||||
@@ -883,7 +910,7 @@ Cada línea en `crontab` sigue este formato:
|
|||||||
|
|
||||||
* Ejecutar todos los lunes a las 8:00 AM: 0 8 \* \* 1 /ruta/al/script.sh
|
* Ejecutar todos los lunes a las 8:00 AM: 0 8 \* \* 1 /ruta/al/script.sh
|
||||||
|
|
||||||
######
|
######
|
||||||
|
|
||||||
minuto hora día\_mes mes día\_semana
|
minuto hora día\_mes mes día\_semana
|
||||||
|
|
||||||
@@ -892,19 +919,19 @@ minuto hora día\_mes mes día\_semana
|
|||||||
1. **Usuario actual:** `crontab -e` → se guarda en `/var/spool/cron/crontabs/usuario`
|
1. **Usuario actual:** `crontab -e` → se guarda en `/var/spool/cron/crontabs/usuario`
|
||||||
|
|
||||||
2. **Global (para todos los usuarios):**
|
2. **Global (para todos los usuarios):**
|
||||||
|
|
||||||
* `/etc/crontab`
|
* `/etc/crontab`
|
||||||
|
|
||||||
* Archivos en `/etc/cron.d/`
|
* Archivos en `/etc/cron.d/`
|
||||||
|
|
||||||
* Directorios especiales:
|
* Directorios especiales:
|
||||||
|
|
||||||
* `/etc/cron.daily/` (se ejecuta una vez al día)
|
* `/etc/cron.daily/` (se ejecuta una vez al día)
|
||||||
|
|
||||||
* `/etc/cron.hourly/` (cada hora)
|
* `/etc/cron.hourly/` (cada hora)
|
||||||
|
|
||||||
* `/etc/cron.weekly/` (una vez a la semana)
|
* `/etc/cron.weekly/` (una vez a la semana)
|
||||||
|
|
||||||
* `/etc/cron.monthly/` (una vez al mes)
|
* `/etc/cron.monthly/` (una vez al mes)
|
||||||
|
|
||||||
#### GENERAR TOKENS
|
#### GENERAR TOKENS
|
||||||
|
|||||||
Reference in New Issue
Block a user