Hola!! O martes, 8 de marzo de 2022 20:12:30 CET Ignacio de Juan escribiu:
El 8/3/22 a las 13:59, karlggest escribió:
Si no tienes mucha experiencia en el uso del terminal, tienes kup y kbackup para estas cosas. Funcionan igual, son fáciles como el mecanismo de un chupete, etc.
Si lo que quieres es aprender algo del terminal, bien:
Bueno llevo años en esto pero sin aprender mucho, hago lo poco que puedo y lo que necesito lo pregunto por aqui, si aprendo algo pues bien esta.
Bien. Aquí una sitio para empezar: https://es.opensuse.org/SDB:Funtamentos_de_bash No incluye programación de scripts ni nada así (se menciona de pasada)
Como ves, el que hizo el script te dice "utilizando la variable de antes para que sea distinto cada vez", pero realmente en la línea "que hace las cosas" no se utiliza la variable.
Sin embargo, en mi opinión usar rsync con esa variable no tiene sentido. Rsync copia los ficheros nuevos o que hayan sido modificados desde la última vez. Así que yo borraría eso de fecha...
Si lo que quieres es tener carpetas con la fecha de cada copiado, supongo que podrías hacer algo como
mkdir /run/media/nacho/My\ Passport/Seguridad/$fecha
Antes de la copia y después de lo de fecha=...
O dicho de otra forma, puedes ejecutarlo poniendo sh (bash) en lugar de perl. Lo suyo con las cosas que funcionan es darles permisos de ejecución y ponerlos en un lugar adecuado.
Salud!!
Si, creo que voy a borrar las lineas que hacen la variable..... y no es necesario tener las carpetas con fecha de copiado, pero gracias por la idea.
Al menos si lo que has puesto es TODO el código. Tal y como está no la estás utilizando.
eso de poner sh, que quieres decir exactamente.
sh es un enlace simbólico (un acceso directo) a bash, que es el intérprete de comandos que usamos todos y con el que comienzas tu script: /bin/bash. Si pones otro intérprete por lo que sea, basta con que sh apunte a tu intérprete y todo funcionará guay ;) aunque la mayoría no lo cambiamos jamás. Al usar "bash mi_script.sh" lo que haces es decirle a bash que ejecute el script que hay en mi_script.sh. En tu caso, el script creo que le llamas "copia2"
lo pongo dentro del script o te refieres a cuando doy la orden en un terminal.....
En el terminal. En el script tienes una línea que dice que es un script de bash: #!/bin/bash Esa línea lo que hace es decir que eso es un script para ejecutar con bash. Si en un terminal haces: File copia2 Te devolverá algo como: copia2: Bourne-Again shell script, ASCII text executable Más arriba dices que tiene la "x" en "ejecutable"; si es correcto, no tienes que usar el propio intérprete para que lea el fichero y lo ejecute, puedes ejecutarlo directamente. ¿Cómo? Si está en mi carpeta perl, accedes a perl y haces: ./copia2 También podrías copiarlo en una carpeta "de ejecutables", como /usr/local/bin/ (necesitarás sudo) o bien puedes modificar tu path para añadir alguna carpeta diferente donde poner tus cosas.
Gracias.
Salud!!