Archivo de copia de seguridad
Finalidad
Copia el sistema de archivos en un soporte de almacenamiento temporal.
Descripción
Una copia de seguridad del sistema de archivos proporciona protección contra pérdidas importantes de datos debidas a accidentes o errores. El mandato copia de seguridad graba las copias de seguridad del sistema de archivos en el formato de archivo copia de seguridad y, por el contrario, el mandato restaurar lee las copias de seguridad del sistema de archivos. El archivo de copia de seguridad contiene varios tipos diferentes de registros de cabecera junto con los datos de cada archivo del que se realiza una copia de seguridad.
Registros de cabecera
Los diferentes tipos de registros de cabecera para las copias de seguridad por nombre son:
| registro de cabecera | Descripción |
|---|---|
| VOLUMEN_FS | Existe en cada volumen y contiene la etiqueta de volumen. |
| FS_XX_ENCODE_CASE_ONE nombre_x | Contiene una descripción de un archivo del que se ha realizado una copia de seguridad por nombre. |
| FS_FIN | Indica el final de la copia de seguridad. Esta cabecera aparece al final del último volumen. |
Los diferentes tipos de registros de cabecera para las copias de seguridad por inodo y nombre son:
| registro de cabecera | Descripción |
|---|---|
| TS_CINTA | Existe en cada volumen y contiene la etiqueta de volumen. |
| TS_BITS | Describe la estructura de directorios. |
| TS_CLRI | Describe los números de i-nodo no utilizados en el sistema de copia de seguridad. |
| TS_INODE | Describe el archivo. |
| TS_ADDR | Indica una continuación del archivo anterior. |
| TS_FIN | Indica el final de la copia de seguridad. |
Las descripciones de los campos de la estructura de cabecera para las copias de seguridad por inodo son:
| registro de cabecera | Descripción |
|---|---|
| c_type | El tipo de cabecera. |
| c_date | La fecha de vuelco actual. |
| c_ddate | La fecha de vuelco del sistema de archivos. |
| c_volume | El número de volumen. |
| c_tapea | Número del registro de cabecera actual. |
| c_inumber | El número de inodo en este registro. |
| c_magic | El número mágico. |
| c_checksum | El valor que convertiría la suma de registro en el valor SUMA de comprobación . |
| bsd_c_dinode | Una copia del i-nodo BSD tal como aparece en el sistema de ficheros BSD. |
| c_count | El número de caracteres en elc_addr. |
| c_addr | Matriz de caracteres que describe los bloques que se están volcando para el archivo. |
| xix_flag | Establézcalo en el valor XIX_MAGIC si realiza la copia de seguridad de un sistema de archivos. |
| xix_dinode | El di-node real del sistema de archivos. |
Cada volumen excepto el último termina con una marca de cinta (leída como un final de archivo). El último volumen finaliza con un registro TS_FIN y, a continuación, la marca de cinta.
Formato por nombre
El formato de una copia de seguridad por nombre es:
VOLUMEN_FS
FS_XX_ENCODE_CASE_ONE nombre_x (antes de cada archivo)
Datos de archivo
FS_FIN
Formato de subnodo
El formato de una copia de seguridad por inodo es el siguiente:
VOLUMEN_TS
TS_BITS
TS_CLRI
TS_INODE
TS_FIN
A continuación se proporciona una descripción detallada del archivo de cabecera de inodo:
union u_spcl {
char dummy[TP_BSIZE];
struct s_spcl {
int c_type; /* 4 */
time_t c_date; /* 8 * /
time_t c_ddate; /* 12 */
int c_volume; /* 16 */
daddr_t c_tapea; /* 20 */
ino_t c_inumber; /* 24 */
int c_magic; /* 28 */
int c_checksum; /* 32 */
struct bsd_dinode bsd_c_dinode; /* 160 */
int c_count; /* 164 */
char c_addr[TP_NINDIR]; /* 676 */
int xix_flag; /* 680 */
struct dinode xix_dinode; /* 800 */
} s_spcl;
} u_spcl;Constants
Las constantes utilizadas para distinguir estos diferentes tipos de cabeceras y definir otras variables son:
#define OSF_MAGIC (int)60011
#define NFS_MAGIC (int)60012 /* New File System Magic */
#define XIX_MAGIC (int)60013 /* Magic number for v3 */
#define BYNAME_MAGIC (int)60011 /* 2.x magic number */
#define PACKED_MAGIC (int)60012 /* 2.x magic number for */
/* Huffman packed format */
#define CHECKSUM (int)84446 /* checksum magic number */
#define TP_BSIZE 1024 /* tape block size */
#define TP_NINDIR (TP_BSIZE/2) /* num of indirect pointers */
/* in an inode record */
#define FS_VOLUME 0 /* denotes a volume header */
#define FS_END 7 /* denotes an end of backup */
#define FS_NAME_X 10 /* denotes file header */
#define SIZSTR 16 /* string size in vol header*/
#define DUMNAME 4 /* dummy name length for */
/* FS_NAME_X */
#define FXLEN 80 /* length of file index */