ACIL FM
Dark
Refresh
Current DIR:
/usr/share/doc/perl-IPC-System-Simple/examples
/
usr
share
doc
perl-IPC-System-Simple
examples
Upload
Zip Selected
Delete Selected
Pilih semua
Nama
Ukuran
Permission
Aksi
rsync-backup.pl
1.48 MB
chmod
View
DL
Edit
Rename
Delete
Edit file: /usr/share/doc/perl-IPC-System-Simple/examples/rsync-backup.pl
#!/usr/bin/perl -w # The following example code uses IPC::System::Simple to mount # a /mnt/backup directory, run an rsync command, and then unmount # the directory again. use strict; use IPC::System::Simple qw(run capture); use POSIX qw(nice strftime); use Fatal qw(open close nice); use constant NICE_VALUE => 10; die "Must be root" if $> != 0; nice(NICE_VALUE); my $mounted = 0; my $today = strftime('%Y-%m-%d',localtime); # The capture() from IPC::System::Simple either works, or dies. my $machine_name = capture("hostname"); open(my $mtab_fh, '<', '/etc/mtab'); while (<$mtab_fh>) { if (m{/mnt/backup}) { $mounted = 1; last; } } close($mtab_fh); if (not $mounted) { # Our run() from IPC::System::Simple either works, or dies. run(qw(/bin/mount /mnt/backup)); } my $last_backup = ''; foreach my $dir ( glob("/mnt/backup/$machine_name/*") ) { next if not -d $dir; # 'gt' is correct here, since we're delaing with YYYY-MM-DD if ($dir gt $last_backup) { $last_backup = $dir; } } die "Cannot find last backup" unless $last_backup; # 0 - Successful backup # 24 - Files disappeared during backup. This is expected on # an active filesystem, and not considered an error. run([0,24], qw(/usr/bin/rsync -aH --exclude-from=/etc/rsync-ignore), "--link-dest=$last_backup","/", "/mnt/backup/teddybear/$today", ); # Unmount our filesystem if we found it unmounted to begin with. # Again, run() either succeeds, or dies. if (not $mounted) { run(qw(/bin/umount /mnt/backup)); }
Simpan
Batal
Isi Zip:
Unzip
Create
Buat Folder
Buat File
Terminal / Execute
Run
Chmod Bulk
All File
All Folder
All File dan Folder
Apply