439 |
xlog($share,"backup completed..."); |
xlog($share,"backup completed..."); |
440 |
} |
} |
441 |
|
|
442 |
|
__END__ |
443 |
#------------------------------------------------------------------------- |
#------------------------------------------------------------------------- |
444 |
|
|
445 |
|
|
446 |
|
=head1 NAME |
447 |
|
|
448 |
|
psinib - Perl Snapshot Is Not Incremental Backup |
449 |
|
|
450 |
|
=head1 SYNOPSIS |
451 |
|
|
452 |
|
./psinib.pl |
453 |
|
|
454 |
|
=head1 DESCRIPTION |
455 |
|
|
456 |
|
This script in current version support just backup of Samba (or Micro$oft |
457 |
|
Winblowz) shares to central disk space. Central disk space is organized in |
458 |
|
multiple directories named after: |
459 |
|
|
460 |
|
=over 4 |
461 |
|
|
462 |
|
=item * |
463 |
|
server which is sharing files to be backed up |
464 |
|
|
465 |
|
=item * |
466 |
|
name of share on server |
467 |
|
|
468 |
|
=item * |
469 |
|
dated directory named like standard ISO date format (YYYYMMDD). |
470 |
|
|
471 |
|
=back |
472 |
|
|
473 |
|
In each dated directory you will find I<snapshot> of all files on |
474 |
|
exported share on that particular date. |
475 |
|
|
476 |
|
You can also use symlink I<latest> which will lead you to |
477 |
|
last completed backup. After that you can use some other backup |
478 |
|
software to transfer I<snapshot> to tape, CD-ROM or some other media. |
479 |
|
|
480 |
|
=head2 Design considerations |
481 |
|
|
482 |
|
Since taking of share snapshot every day requires a lot of disk space and |
483 |
|
network bandwidth, B<psinib> uses several techniques to keep disk usage and |
484 |
|
network traffic at acceptable level: |
485 |
|
|
486 |
|
=over 3 |
487 |
|
|
488 |
|
=item - usage of hard-links to provide same files in each snapshot (as opposed |
489 |
|
to have multiple copies of same file) |
490 |
|
|
491 |
|
=item - usage of file size, atime and mtime to find changes of files without |
492 |
|
transferring whole file over network (just share browsing is transfered |
493 |
|
over network) |
494 |
|
|
495 |
|
=item - usage of C<.md5sum> files (compatible with command-line utility |
496 |
|
C<md5sum> to keep file between snapshots hard-linked |
497 |
|
|
498 |
|
=back |
499 |
|
|
500 |
|
=head1 CONFIGURATION |
501 |
|
|
502 |
|
This section is not yet written. |
503 |
|
|
504 |
|
=head1 BUGS and LIMITATIONS |
505 |
|
|
506 |
|
There is not real reason why you can't take snapshot more often than |
507 |
|
one a day. Actually, if you are using B<psinib> to backup Windows workstations |
508 |
|
they tend to come-and-go, so running B<psinib> several times a day |
509 |
|
increases your chance of having up-to-date backup (B<psinib> will not |
510 |
|
make multiple backups for same day if such backup already exists). |
511 |
|
|
512 |
|
However, changing that to produce backups which are, for example, hourly |
513 |
|
is a simple change of C<$DIR_TIME_FMT> which is currently set to |
514 |
|
C<'%Y%m%d'> (see I<strftime> documentation for explanation of that |
515 |
|
format). If you change that to C<'%Y%m%d-%H> you can have hourly snapshots |
516 |
|
(if your network is fast enough, that is...). Also, some of messages in |
517 |
|
program will sound strange, but other than that it should work. |
518 |
|
I<You have been warned>. |
519 |
|
|
520 |
|
=head1 AUTHOR |
521 |
|
|
522 |
|
Dobrica Pavlinusic <dpavlin@rot13.org> |
523 |
|
|
524 |
|
L<https://www.rot13.org/~dpavlin/> |
525 |
|
|
526 |
|
=head1 LICENSE |
527 |
|
|
528 |
|
This product is licensed under GNU Public License (GPL) v2 or later. |
529 |
|
|
530 |
|
=cut |