Autor Tema: Configurar Backup  (Leído 10791 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado sunbloquer

  • Jr. Member
  • **
  • Mensajes: 94
    • Ver Perfil
    • @pump_upp - best crypto pumps on telegram !
  • Estación: Quintes - Asturias - ESAST3300000033314A
Configurar Backup
« en: 29 de Diciembre del 2016, 12:05:45 pm »
2000 años despues.....pido ayuda, por mas que he leido y releido no logro hacer backup. Lo estoy intentando realizar sobre un NAS, desde la raspi accedo a el, creo carpetas (creo que bien) pero a la hora de ejecutar el backup algo falla

Monto el directorio

sudo mount.cifs //192.168.1.9/Volume_1/Davis /home/pi/Davis -o user=minix


pi@raspberrypi:~ $ sudo mount.cifs //192.168.1.9/Volume_1/Davis /home/pi/Davis -o user=minix
Password for minix@//192.168.1.9/Volume_1/Davis:  *************
pi@raspberrypi:~ $ cd Davis
pi@raspberrypi:~/Davis $ dir
pi@raspberrypi:~/Davis $ mkdir holahola
pi@raspberrypi:~/Davis $ dir
holahola
pi@raspberrypi:~/Davis $

Digo yo que este bien ya que me deja crear sobre el....

A la hora de ejecutar un simple backup

pi@raspberrypi:~ $ sudo sh mibackup.sh
mibackup.sh: 2: cd: can't cd to /home/pi/Davis/
mibackup.sh: 12: mibackup.sh: Syntax error: end of file unexpected (expecting "then")

El script en cuestion es este, uno de muchos que probe

Código: [Seleccionar]
#!/bin/bash
cd /home/pi/Davis/
if [ -e weewx.sdb.bak ];
then
mv weewx.sdb.bak weewx.sdb.bak2
else
echo "El archivo weewx.sdb.bak no existe"
fi
sudo sqlite3 /var/lib/weewx/weewx.sdb .dump > weewx.sdb.bak

exit

Sugerencias.....Gracias

Desconectado jantoni

  • Investigación
  • Hero Member
  • ******
  • Mensajes: 5.303
    • Ver Perfil
  • Estación: ESMAD2800000028522A
Re:Configurar Backup
« Respuesta #1 en: 29 de Diciembre del 2016, 21:51:23 pm »
Estás mezclando permisos de root, no root, etc, y menos lo puedes hacer en diferentes sesiones, ya que el script tiene su propio entorno, diferente al terminal que has abierto para montar el directorio con permisos de root con sudo.

Es una mezcla que no suele funcionar.

Y ¿por qué no?
Código: [Seleccionar]
#!/bin/bash

mount.cifs //192.168.1.9/Volume_1/Davis /home/pi/Davis -o user=minix password=manoloeldelbombo

cd /home/pi/Davis/

if [ -e weewx.sdb.bak ];
then
mv weewx.sdb.bak weewx.sdb.bak2
else
echo "El archivo weewx.sdb.bak no existe"
fi

sqlite3 /var/lib/weewx/weewx.sdb .dump > weewx.sdb.bak

umount /home/pi/Davis

exit

Lo debes ejecutar con permisos de root, bien con sudo, bien mediante crontab especificando que el usuario es root

Una pregunta, ¿por que utilizas sqlite3 en lugar de hacer una copia directa del arhcivo weewx.sdb?

Davis Vantage Vue (sin datalogger) + Orange Pi PC + Weewx

GW2000 + WS90 con Weewx (https://www.ecowitt.net/home/index?id=199315)
WH2650 con WH65 con Home Assistant y Weewx (https://www.ecowitt.net/home/index?id=40387)
GW1000 con WH32 y Home Assistant (https://www.ecowitt.net/home/index?id=17080)
Sensores adicionales: WH31 (3) + WH41

Desconectado sunbloquer

  • Jr. Member
  • **
  • Mensajes: 94
    • Ver Perfil
    • @pump_upp - best crypto pumps on telegram !
  • Estación: Quintes - Asturias - ESAST3300000033314A
Re:Configurar Backup
« Respuesta #2 en: 29 de Diciembre del 2016, 22:02:27 pm »
Utilizar no utilizo nada de momento :D he visto un post de una contestación tuya a otro mensaje y vamos, se puede hacer de muchas formas.....Cogí una y vamos a probar....Pero como dices debo estar mezclado cosas, como dices mi idea era hacer eso, una copia de la bbdd sin más y después veremos.

Mañana pruebo eso por lo menos ahora ya estoy más orientado. Gracias jantoni

Desconectado jantoni

  • Investigación
  • Hero Member
  • ******
  • Mensajes: 5.303
    • Ver Perfil
  • Estación: ESMAD2800000028522A
Re:Configurar Backup
« Respuesta #3 en: 29 de Diciembre del 2016, 22:06:27 pm »
Yo cambiaría

sqlite3 /var/lib/weewx/weewx.sdb .dump > weewx.sdb.bak

por un simple

cp /var/lib/weewx/weewx.sdb /home/pi/Davis/weewx.sdb.bak


Davis Vantage Vue (sin datalogger) + Orange Pi PC + Weewx

GW2000 + WS90 con Weewx (https://www.ecowitt.net/home/index?id=199315)
WH2650 con WH65 con Home Assistant y Weewx (https://www.ecowitt.net/home/index?id=40387)
GW1000 con WH32 y Home Assistant (https://www.ecowitt.net/home/index?id=17080)
Sensores adicionales: WH31 (3) + WH41

Desconectado sunbloquer

  • Jr. Member
  • **
  • Mensajes: 94
    • Ver Perfil
    • @pump_upp - best crypto pumps on telegram !
  • Estación: Quintes - Asturias - ESAST3300000033314A
Re:Configurar Backup
« Respuesta #4 en: 30 de Diciembre del 2016, 12:05:16 pm »
Lo he intentado todo y mas que todo y no hay manera me aseguro primero que no este montado ya

Código: [Seleccionar]
pi@raspberrypi:~ $ sudo mount
/dev/mmcblk0p2 on / type ext4 (rw,noatime,data=ordered)
devtmpfs on /dev type devtmpfs (rw,relatime,size=218256k,nr_inodes=54564,mode=755)
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
proc on /proc type proc (rw,relatime)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
tmpfs on /run type tmpfs (rw,nosuid,nodev,mode=755)
tmpfs on /run/lock type tmpfs (rw,nosuid,nodev,noexec,relatime,size=5120k)
tmpfs on /sys/fs/cgroup type tmpfs (ro,nosuid,nodev,noexec,mode=755)
cgroup on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,nodev,noexec,relatime,xattr,release_agent=/lib/systemd/systemd-cgroups-agent,name=systemd)
cgroup on /sys/fs/cgroup/cpu,cpuacct type cgroup (rw,nosuid,nodev,noexec,relatime,cpu,cpuacct)
cgroup on /sys/fs/cgroup/blkio type cgroup (rw,nosuid,nodev,noexec,relatime,blkio)
cgroup on /sys/fs/cgroup/memory type cgroup (rw,nosuid,nodev,noexec,relatime,memory)
cgroup on /sys/fs/cgroup/devices type cgroup (rw,nosuid,nodev,noexec,relatime,devices)
cgroup on /sys/fs/cgroup/freezer type cgroup (rw,nosuid,nodev,noexec,relatime,freezer)
cgroup on /sys/fs/cgroup/net_cls type cgroup (rw,nosuid,nodev,noexec,relatime,net_cls)
systemd-1 on /proc/sys/fs/binfmt_misc type autofs (rw,relatime,fd=22,pgrp=1,timeout=300,minproto=5,maxproto=5,direct)
debugfs on /sys/kernel/debug type debugfs (rw,relatime)
mqueue on /dev/mqueue type mqueue (rw,relatime)
configfs on /sys/kernel/config type configfs (rw,relatime)
tmpfs on /var/log type tmpfs (rw,nosuid,nodev,relatime,size=20480k)
/dev/mmcblk0p1 on /boot type vfat (rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=ascii,shortname=mixed,errors=remount-ro)
binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,relatime)

pi@raspberrypi:~ $ sudo sh mibackup.sh
: not found: 2: mibackup.sh:
: not found: 4: mibackup.sh:
mibackup.sh: 5: cd: can't cd to /home/pi/Davis
: not found: 6: mibackup.sh:
mibackup.sh: 19: mibackup.sh: Syntax error: end of file unexpected (expecting "then")

Obviamente sigue sin montar, el sh es

Código: [Seleccionar]
#!/bin/bash

mount.cifs -o username=minix,password=xxxxxxxxx //192.168.1.9/Volume_1/Davis /home/pi/Davis

cd /home/pi/Davis

if [ -e weewx.sdb.bak ];
then
mv weewx.sdb.bak weewx.sdb.bak2
else
echo "El archivo weewx.sdb.bak no existe"
fi

cp /var/lib/weewx/weewx.sdb /home/pi/Davis/weewx.sdb.bak

umount /home/pi/Davis

exit

Si lo monto manualmente con la linea del script con sudo, monta

//192.168.1.9/Volume_1/Davis on /home/pi/Davis type cifs (rw,relatime,vers=1.0,cache=strict,username=minix,domain=NAS-DLINK,uid=0,noforceuid,gid=0,noforcegid,addr=192.168.1.9,unix,posixpaths,serverino,mapposix,acl,rsize=1048576,wsize=1048576,actimeo=1)

Tan dificil sera pasar un archivo de un sitio a otro? me tiene hablando solo, ayer hasta soñe con ello  :; :; :; :; :;

Desconectado sunbloquer

  • Jr. Member
  • **
  • Mensajes: 94
    • Ver Perfil
    • @pump_upp - best crypto pumps on telegram !
  • Estación: Quintes - Asturias - ESAST3300000033314A
Re:Configurar Backup
« Respuesta #5 en: 30 de Diciembre del 2016, 16:59:14 pm »
Esto es en lo que me he roto la cabeza de momento.....he probado con otro script

Código: [Seleccionar]
#!/bin/bash
#
# weewx backup (originally based on wview)

TODAY=`date +%Y_%m_%d`
TMPDIR="/var/tmp"

ARCHIVE_FILE=weewx.sdb
STATS_FILE=stats.sdb
ARCHIVE_DIR=/var/lib/weewx
DESTDIR=/media

# if the archive isn't present, there is a typo above
if [ ! -f $ARCHIVE_DIR/$ARCHIVE_FILE ]; then
logger "$0 exiting - srcfile not found"
exit 1
fi

# weewx v3 eliminates the stats file
if [ -f $ARCHIVE_DIR/$STATS_FILE ]; then
    STATS_PRESENT=1
fi

# stash a copy to a scratch directory without stopping weewx
# we rely on the os to ensure the file we copy is intact
# (crossing fingers)
cd $ARCHIVE_DIR
cp $ARCHIVE_FILE ${TMPDIR}
if [ x$STATS_PRESENT = "x1" ]; then
   cp $STATS_FILE   ${TMPDIR}
fi

# now work on the stashed files to gzip them with a timestamp
# this is done since it takes some time
cd "${TMPDIR}"
gzip -c ${ARCHIVE_FILE} > $ARCHIVE_FILE.$TODAY.gz
mv $ARCHIVE_FILE.$TODAY.gz $DESTDIR
if [ x$STATS_PRESENT = "x1" ]; then
  gzip -c ${STATS_FILE} > $STATS_FILE.$TODAY.gz
  mv $STATS_FILE.$TODAY.gz $DESTDIR
fi

# always nice to leave positive log messages
logger "WEEWX_BACKUP - complete to $DESTDIR"

# cleanup temporary stuff
rm -f "${TMPDIR}"/$ARCHIVE_FILE.$TODAY.gz
rm -f "${TMPDIR}"/$ARCHIVE_FILE
if [ x$STATS_PRESENT = "x1" ]; then
  rm -f "${TMPDIR}"/$STATS_FILE.$TODAY.gz
  rm -f "${TMPDIR}"/$STATS_FILE
fi

Monte la carpeta en /media/Davis y esto es lo que pasa si corro el script

pi@raspberrypi:~ $ sudo sh weewxba.sh
mv: no se puede mover «weewx.sdb.2016_12_30.gz» a «/media/Davis»: Es un directorio

y no me escribe nada en el

pi@raspberrypi:~ $ sudo sh weewxba.sh
mv: no se puede mover «weewx.sdb.2016_12_30.gz» a «/media/Davis/»: No es un directorio

no me escribe nada en el. En cambio si dejo solo /media

pi@raspberrypi:~ $ sudo sh weewxba.sh
pi@raspberrypi:~ $ cd /media
pi@raspberrypi:/media $ dir
Davis  weewx.sdb.2016_12_30.gz

Si lo escribe................yo no entiendo nada de nada

Desconectado jantoni

  • Investigación
  • Hero Member
  • ******
  • Mensajes: 5.303
    • Ver Perfil
  • Estación: ESMAD2800000028522A
Re:Configurar Backup
« Respuesta #6 en: 30 de Diciembre del 2016, 17:45:58 pm »
Pero en el script.....

¿has dado permisos de ejecución?

¿lo ejecutas con sudo?


Davis Vantage Vue (sin datalogger) + Orange Pi PC + Weewx

GW2000 + WS90 con Weewx (https://www.ecowitt.net/home/index?id=199315)
WH2650 con WH65 con Home Assistant y Weewx (https://www.ecowitt.net/home/index?id=40387)
GW1000 con WH32 y Home Assistant (https://www.ecowitt.net/home/index?id=17080)
Sensores adicionales: WH31 (3) + WH41

Desconectado sunbloquer

  • Jr. Member
  • **
  • Mensajes: 94
    • Ver Perfil
    • @pump_upp - best crypto pumps on telegram !
  • Estación: Quintes - Asturias - ESAST3300000033314A
Re:Configurar Backup
« Respuesta #7 en: 30 de Diciembre del 2016, 18:30:07 pm »
Pues supongo que.....NO

Le he dado tantas vueltas a la pelota que tengo por cabeza que no le di permisos o no tenia los adecuados

pi@raspberrypi:~ $ ls -l weewxba.sh
-rw-r--r-- 1 pi pi 1334 dic 30 17:57 weewxba.sh
pi@raspberrypi:~ $ chmod +x weewxba.sh
pi@raspberrypi:~ $ ls -l weewxba.sh
-rwxr-xr-x 1 pi pi 1334 dic 30 17:57 weewxba.sh

Bueno ahora si funciona, otro pequeño error y debe ser del NAS, este muestra los registros, desmonto y monto desde la pi

Dec 30 18:24:02 CIFS: [192.168.1.7] closed the connection to service [Volume_1].
Dec 30 18:25:33 CIFS: [192.168.1.7] connected to [Volume_1] as user [pi].

Ejecuto el script como root

pi@raspberrypi:~ $ sudo sh weewxba.sh
mv: fallo al conservar el propietario de «/media/Davis/weewx.sdb.2016_12_30.gz»: Permiso denegado
pi@raspberrypi:~ $ cd /media/Davis
pi@raspberrypi:/media/Davis $ dir
weewx.sdb.2016_12_30.gz

El archivo me lo copia con ese error, molesto pero lo copia.

La cuestión es de permisos

pi@raspberrypi:/media/Davis $ ls -l
total 4194304
-rw-r--r-- 1 1004 505 71287 dic 30 18:27 weewx.sdb.2016_12_30.gz

Ese archivo se va para un usuario y grupo pues que no estan en la Pi, la cuestión seria crear ese grupo y usuario en ella?

por lo demás  apla3 apla3 apla3 por la ayuda




Desconectado sunbloquer

  • Jr. Member
  • **
  • Mensajes: 94
    • Ver Perfil
    • @pump_upp - best crypto pumps on telegram !
  • Estación: Quintes - Asturias - ESAST3300000033314A
Re:Configurar Backup
« Respuesta #8 en: 30 de Diciembre del 2016, 19:07:12 pm »
Bueno, creo que encontré la solución o al menos lo apañe.

Cree un usuario y un grupo en el NAS (Dlink 320) el NAS les da un UID y GDI que obviamente no coinciden con los de la PI. En la pi cree el mismo usuario y grupo y despues les cambie el UID y GDI a los que les da el NAS.

Ahora tengo un usuario en la pi solo para los backups. Ahora me falta añadir el fstab y el cron, a ver como se tuerce el asunto.

Puede que no sea lo mas usual pero al menos funciona....... :blank:

Desconectado sunbloquer

  • Jr. Member
  • **
  • Mensajes: 94
    • Ver Perfil
    • @pump_upp - best crypto pumps on telegram !
  • Estación: Quintes - Asturias - ESAST3300000033314A
Re:Configurar Backup
« Respuesta #9 en: 30 de Diciembre del 2016, 19:24:45 pm »
Nada, a la mierda, no se que coño hice, la cosa está asi

sudo mount -t cifs //192.168.1.9/Volume_1/Davis /media/Davis -o user=userbackup
sudo sh weewxba.sh

Sin errores y se crea

sudo mount -t cifs //192.168.1.9/Volume_1/Davis /home/backup -o user=userbackup
sudo sh weewxba.sh

error

mv: fallo al conservar el propietario de «/home/backup/weewx.sdb.2016_12_30.gz»: Permiso denegado

Al reves, no me da problemas en /media/Davis y me los da en el home del usuario en cuestion.

Desconectado jantoni

  • Investigación
  • Hero Member
  • ******
  • Mensajes: 5.303
    • Ver Perfil
  • Estación: ESMAD2800000028522A
Re:Configurar Backup
« Respuesta #10 en: 30 de Diciembre del 2016, 21:29:12 pm »
Ummmmm.....

ya me imaginaba que era un 320 de DLink....o a lo sumo un 325......

Veréis, yo soy simple.....y entonces me pregunto.....el tema de la seguridad en una red doméstica es cuestionable.

De ese modo, el Samba de mi DNS320 funciona sin password, por lo que no me lia con usuarios, permisos ni leches.

Desde luego, el problema está ahí.

Ahora bien, aunque nos salimos de temática Meteoclimatic, te ahorrarás muchos quebraderos de cabeza utilizando NFS en lugar de Samba/cifs.

En casa, mis dos NAS (El DLink y el Mele A2000 que además es el servidor web de casa), están funcionando con NFS. Evidentemente, tengo habilitado Samba para dar compatibilidad a los Windows.

Davis Vantage Vue (sin datalogger) + Orange Pi PC + Weewx

GW2000 + WS90 con Weewx (https://www.ecowitt.net/home/index?id=199315)
WH2650 con WH65 con Home Assistant y Weewx (https://www.ecowitt.net/home/index?id=40387)
GW1000 con WH32 y Home Assistant (https://www.ecowitt.net/home/index?id=17080)
Sensores adicionales: WH31 (3) + WH41

Desconectado sunbloquer

  • Jr. Member
  • **
  • Mensajes: 94
    • Ver Perfil
    • @pump_upp - best crypto pumps on telegram !
  • Estación: Quintes - Asturias - ESAST3300000033314A
Re:Configurar Backup
« Respuesta #11 en: 30 de Diciembre del 2016, 21:53:18 pm »
Mañana volveremos a la carga  :(

Desconectado sunbloquer

  • Jr. Member
  • **
  • Mensajes: 94
    • Ver Perfil
    • @pump_upp - best crypto pumps on telegram !
  • Estación: Quintes - Asturias - ESAST3300000033314A
Re:Configurar Backup
« Respuesta #12 en: 31 de Diciembre del 2016, 16:42:21 pm »
Al final hago el backup en un usb, total, no es que vaya a manejar gran volumen de datos  :D

En el script ese me falla esta linea

# always nice to leave positive log messages
logger "WEEWX_BACKUP - complete to $DESTDIR"

Acaba el backup pero no muestra ningun mensaje......

Por lo que le cambie el logger por echo, no conozco a logger pero a echo si y me lo muestra, digo yo que asi servira...

pi@raspberrypi:~ $ sudo sh backupusb.sh
WEEWX_BACKUP - Eres un monstruo, copia enviada a /media/backupusb

Vamos que al final quedaria el sh así, tambien le añadi para que desmontase y saliese, no se si esta bien, error no da

Código: [Seleccionar]
#!/bin/bash
#
# weewx backup (originally based on wview)

sudo mount /dev/sda1 /media/backupusb 

TODAY=`date +%Y_%m_%d`
TMPDIR="/var/tmp"

ARCHIVE_FILE=weewx.sdb
STATS_FILE=stats.sdb
ARCHIVE_DIR=/var/lib/weewx
DESTDIR=/media/backupusb

# if the archive isn't present, there is a typo above
if [ ! -f $ARCHIVE_DIR/$ARCHIVE_FILE ]; then
echo "$0 exiting - srcfile not found"
exit 1
fi

# weewx v3 eliminates the stats file
if [ -f $ARCHIVE_DIR/$STATS_FILE ]; then
    STATS_PRESENT=1
fi

# stash a copy to a scratch directory without stopping weewx
# we rely on the os to ensure the file we copy is intact
# (crossing fingers)
cd $ARCHIVE_DIR
cp $ARCHIVE_FILE ${TMPDIR}
if [ x$STATS_PRESENT = "x1" ]; then
   cp $STATS_FILE   ${TMPDIR}
fi

# now work on the stashed files to gzip them with a timestamp
# this is done since it takes some time
cd "${TMPDIR}"
gzip -c ${ARCHIVE_FILE} > $ARCHIVE_FILE.$TODAY.gz
mv $ARCHIVE_FILE.$TODAY.gz $DESTDIR
if [ x$STATS_PRESENT = "x1" ]; then
  gzip -c ${STATS_FILE} > $STATS_FILE.$TODAY.gz
  mv $STATS_FILE.$TODAY.gz $DESTDIR
fi

# always nice to leave positive log messages
echo "WEEWX_BACKUP - Eres un monstruo, copia enviada a $DESTDIR"

# cleanup temporary stuff
rm -f "${TMPDIR}"/$ARCHIVE_FILE.$TODAY.gz
rm -f "${TMPDIR}"/$ARCHIVE_FILE
if [ x$STATS_PRESENT = "x1" ]; then
  rm -f "${TMPDIR}"/$STATS_FILE.$TODAY.gz
  rm -f "${TMPDIR}"/$STATS_FILE
fi
sudo umount /media/backupusb

exit

 *+*
« Última modificación: 31 de Diciembre del 2016, 16:49:43 pm por nostradamus »

Desconectado jantoni

  • Investigación
  • Hero Member
  • ******
  • Mensajes: 5.303
    • Ver Perfil
  • Estación: ESMAD2800000028522A
Re:Configurar Backup
« Respuesta #13 en: 31 de Diciembre del 2016, 17:21:18 pm »
A ver si mañana pongo mi script

Aunque creo que ya lo hice

Davis Vantage Vue (sin datalogger) + Orange Pi PC + Weewx

GW2000 + WS90 con Weewx (https://www.ecowitt.net/home/index?id=199315)
WH2650 con WH65 con Home Assistant y Weewx (https://www.ecowitt.net/home/index?id=40387)
GW1000 con WH32 y Home Assistant (https://www.ecowitt.net/home/index?id=17080)
Sensores adicionales: WH31 (3) + WH41

Desconectado sunbloquer

  • Jr. Member
  • **
  • Mensajes: 94
    • Ver Perfil
    • @pump_upp - best crypto pumps on telegram !
  • Estación: Quintes - Asturias - ESAST3300000033314A
Re:Configurar Backup
« Respuesta #14 en: 31 de Diciembre del 2016, 18:30:24 pm »
Estaria bien echarle un vistazo para ver como lo tienes montado  ;D