Mejoras para hacer copias de seguridad:
Copia de seguridad que no fuera
completa. Que se base en fechas para respetar copias antiguas. Tal
vez te interese hacer copias mensuales para periodos largos.
Se suele hacer copias diarias
lunes/marte/miercoles/.../dominngo basandote en el dia de la semana.
Se suele hacer copias mensuales,
basandote en el nombre del mes (12 copias en un año)
No hacer copias completa, sino
basandose en copias de fecha de ficheros que han sido modificados.
(copias incrementales: añadir solo lo
nuevo). Se hace 1 copia inicial, y luego se hacen pequeñas copias
con los cambios, problema que tiene es que dependen de la copia
inicial y de todos los cambios para restaurar.
Otra forma seria procesar solo lo que
haya cambiado basandose en la fecha pero se copia TODO, pero los
ficheros que se han borrado los tengo que gestionar (en la copia
existen, pero en el original los he borrado)
Comandos que nos pueden venir muy bien,
ya que estan relacionados en la fechas:
“date”: fecha
y hora actual del sistema
julio@julio-Aspire-5735:~$
date
lun
mar 21 09:57:33 CET 2011
julio@julio-Aspire-5735:~$
Si somos usuarios root con el comando
date, podemos asignar la hora/fecha del sistema
$date MMDDHHmmYY.ss
ver la pagina del man para ver le tema
de los formatos (%)
$date +%a
muestra el dia de la semana abreviatura
(lun), en mayusculas muestra +%A (lunes)
otro ejemplo (uso de comillas):
$ date +"%d %B"
21 marzo
“cal”:
calendario
$cal
mes completo actual
$cal -m 2
mes completo de hace 2 meses
$cal 2012
calendario del año 2012
“calendar”:
sucesos que se produjeron hoy
tira de un fichero llamado
/usr/share/calendar/calendar.all
pero tu te puedes crear tu propio
archivo el ~/.calendar/calendar y ~/calendar, para anotar cosas
personales (cumpleaños, fiestas, etc)
la forma de hacer una entrada es:
LANG=utf-8
3/21<tab>vieron los libros
mes/fecha<tabulador>comentario
Si ejecutamos calendar donde hemos
grabado nuestro archivo calendar.
Ahora solo salen nuestras entradas.
Para hacer que nuestro calendario se
añada al calendario completo, /usr/share/calendar/calendar.all
En nuestro calendario añado todas la
entradas que me interesen calendar.all
ejemplo:
LANG=utf-8
#include <calendar.birthday>
3/21<tab>vieron los libros
“at”:
comando que es nuestro primer programador de tareas
at 11:13 (ENTER)
at>notify-send “hola”
at>^D
(tenemos que instalar previamente:
$sudo apt-get install libnotify-bin)
ejemplo completo del uso de
notify-send:
notify-send "Ingresa el titulo
aquí" \
"Chequea estos iconos" \
-i /usr/share/pixmaps/gnome-home.png
)
Uso de at con ficheros:
$at 11:13 -f fichero
donde fichero tiene las ordenes de lo
que tiene que hacer.
“atq”: muestra la lista de
trabajos programados
julio@julio-Aspire-5735:~/.calendar$
atq
7 Mon Mar 21 12:00:00 2011 a julio
julio@julio-Aspire-5735:~/.calendar$
"atrm" nº: borro algun trabajo de la
lista de tareas configurado por un nº
“batch”:
te sirve para ejecutar tareas en las cuales no te importa la hora en
que se ejecute. Lo ejecutara cuando el nivel de carga del sistema lo
permita.
Nivel de carga del sistema lo podemos
ver con el comando top: ver “load average:” siendo 3 valores, y
una carga de 1 es el 100%. El primer numero en la carga en el ultimo
minuto, el 2º en reciente (5 minutos), y 3º numero la carga a mas
largo plazo.
Si batch ve que estamos en el 80%,
aplaza la tarea.
“cron”:
cronometro del sistema. Podemos programar cosas en el tiempo.
Va comprobando la tabla de tareas que
tiene asignada periodicamente cada minuto, haciendola si corresponde.
El programa se llama “crond”, ya que es un demonio (servicio que
esta en ejecución, cuando se arranca la máquina).
Con:
$crontab -l //vemos la lista de tareas
Ahora con nano, creamos un archivo
llamado “crontab.txt”, para definirles tareas.
- cada tarea se describe en una linea, y esa linea esta compuesta por 6 campos:minutos horas dia mes diasemana tarea21 13 1 1 * echo “hola”el dia 1 de enero a las 13 horas 21 minutos (sin especificar dia de las semana) se escribe “hola”
Ejemplo: Tarea del Cigarrito oclok:
30 10 * * 1-5 notify-send “salir de
clase fumar el cigarrito”
dias de la semana 0 domingo, 1 lunes,
2 martes,3 miercoles,4 jueves, 5 viernes,6 sabado, 7 domingo
Para indicar rangos usamos “-”
(guión)
Para indicar numeros sueltos “,”
(comas)
Todos “*”
Más opciones que tenemos:
- Indicar todos los dias pares: 2-31/2 (desde el 2 al 31 aumentando de 2 en 2)
- Indicar algo cada 5 dias: 1-31/5 (desde el 1 al 31 aumentando de 5 en 5)
- Indicando todos los dias impares: 1-31/2 (desde el 1 al 31 aumentando de 2 en 2)
Hacer copias de seguridad:
30 10 * * 1-5 notify-send "salir
de calse para fumar el cigarrito"
0 13 * * 1-5 notify-send "salir
de clase para fumar el cigarro"
30 13 * * 1-5 copia_diaria
35 13 * * 5 copia_semanal (que copia la
copia_diaria y lo cambie de semanal)
40 13 20-26 * 5 copia_mes (copia
semanas y que lo copie con nombre de mensual)
Nota:
Cron en principio, no tiene acceso a la terminal ni a la pantalla, para que lo tenga:
Cualquier cosa que crom tenga que ejecutarse en un entorno de pantalla de un usuario debe de tener el la linea de la orden:
export DISPLAY=:0.0; notify-send "----" // pantalla
export DISPLAY=:0,0; gnome-terminal; // terminal
ejemplo:
30 13 * * 1-5 export DISPLAY=:0.0; notify-send "Hoy se hacen copias de seguridad"
Se lo pasamos a crontab:
$crontab < crontab.txt
No hay comentarios:
Publicar un comentario