- El primer paso es crear una carpeta que contenga todos nuestros scripts asique la creamos donde queramos y le damos un nombre descriptivo:
- Ahora tenemos que crear nuestro primer script para eso hacemos:
- Luego debemos convertir dicho archivo a ejecutable:
- Llego el momento de empezar a modificar dicho archivo, yo voy a ocupar vim para editarlo:
- Primero debemos de saber que tiene que tener una estructura particular para poder funcionar y para esto indicamos 2 cosas una seria decirle que es un bash lo que estamos escribiendo y el tipo de codificación, aunque este último no llega a ser estricto pueden presentarse situaciones en las cuales se necesite este parámetro por ende siempre acostumbro a ponerlo:
- Pasamos a escribir el script:
- A no desesperarse porque es muy sencillo, la primer línea hace el update como si lo tipiaramos nosotros y con el signo ">" le indico que guarde la salida de la pantalla en un archivo llamado update.txt situado en el directorio tmp, la segunda línea estamos declarando una pequeña variable que en nuestro caso nos permite guardar en "fechahoy" la fecha de hoy en formate dia-mes-año osea si ustedes ponen en la terminal date +"%d-%m-%Y" se darán cuenta a que me refiero y el símbolo $ es parecido al uso que tiene en php osea nos ayuda a guardar todo ese string en la variable, en la tercera línea creo un archivo comprimido llamado backupsupdate.$fechahoy.tar.gz que con esa línea y la explicación de la línea 2 ya sea darán cuanta para que hacemos ese paso y obviamente le indicamos que archivo queremos comprimir osea le indicamos la ruta de update.txt, la cuarta línea simplemente copiamos el tar recién echo en una carpeta ya definida por mi para guardar de manera ordenada los backups (obviamente esas carpetas las tienen que crear primero jaja), la quinta borramos el tar osea borramos el que creamos en la tercer línea, en la sexta línea borramos el txt.
Les paso a explicar pero igual con solo leer ya se deben de imaginar como funciona crontab o cron, la clave de esto son los 5 primeros parámetros que a medida que sigamos dando ejemplos veremos variantes pero la base es que se debe de indicar primero los minutos, luego la hora, luego día del mes, numero del mes, y día de la semana segudi del usuario que ejecutara el comando o el script y segudo de dicho comando o directorio del scripts, para nuestro ejemplo:
"19 15 * * * root /home/hackendemoniado/Documentos/scripts/actualiza.sh"
creo que es bastante descriptivo lo único que falta aclarar es que los asteriscos "*" representan todos los valores osea algo que se repite siempre para todos los valores, yo lo diseñe para que se ejecute siempre a las 15 horas con 19 minutos, la parte comentada puede variar dependiendo la distribución (yo use fedora 23), ya con esto lo único que resta es guardar los cambio y revisar la carpeta donde dijimos que estará el backups, yo al poner el comando ls veo los siguiente:
Donde pueden ver que se creo a la hora que yo le especifique y con el formato con el dia mes y año como está programado en el script.
Luego pasamos a realizar algo parecido pero para resguardar todos nuestros comandos que vamos ocupando tanto para root como para algún usuario que nosotros queramos controlar:
- vamos a crear en total 3 scirpt asique como ya saben como hacer tiro directamente los comandos:
- Luego pasamos a modificar los archivos primero debemos saber que maejar el comando history con un script es diferente a lo anterior por ende no necesitamos las primeras 2 líneas para que ejecute bien, bueno realizamos el script para "guardahistory_hackendemoniado.sh":
- Hacemos lo mismo con el archivo "guardahistory_root.sh":
- Por último modificamos el script llamado "backups_history.sh":
- Es bastante parecido al script que hicimos primero, la única diferencia es que borramos cualquier archivo que empiece con history_ dentro de la carpeta tmp, osea "/tmp/history_*" hace justamente eso, ahora lo agregamos a cron:
- Como se darán cuenta el history de mi usuario lo represento como que lo ejecuto como mi nombre de usuario osea hackendemoniado y el de root con root, y los configuro a los 3 con esos horarios de ejecución para todos los días del año logicamente debemos de ejecutar en ese orden para que no falle asique cuidado con eso, ahora vemos con el comando ls -al como quedan los backups:
bueno amigos cualquier cosa consulten y pronto estare subiendo más post....