晋太元中,武陵人捕鱼为业。缘溪行,忘路之远近。忽逢桃花林,夹岸数百步,中无杂树,芳草鲜美,落英缤纷。渔人甚异之,复前行,欲穷其林。 林尽水源,便得一山,山有小口,仿佛若有光。便舍船,从口入。初极狭,才通人。复行数十步,豁然开朗。土地平旷,屋舍俨然,有良田、美池、桑竹之属。阡陌交通,鸡犬相闻。其中往来种作,男女衣着,悉如外人。黄发垂髫,并怡然自乐。 见渔人,乃大惊,问所从来。具答之。便要还家,设酒杀鸡作食。村中闻有此人,咸来问讯。自云先世避秦时乱,率妻子邑人来此绝境,不复出焉,遂与外人间隔。问今是何世,乃不知有汉,无论魏晋。此人一一为具言所闻,皆叹惋。余人各复延至其家,皆出酒食。停数日,辞去。此中人语云:“不足为外人道也。”(间隔 一作:隔绝) 既出,得其船,便扶向路,处处志之。及郡下,诣太守,说如此。太守即遣人随其往,寻向所志,遂迷,不复得路。 南阳刘子骥,高尚士也,闻之,欣然规往。未果,寻病终。后遂无问津者。
|
Server : Apache System : Linux srv.rainic.com 4.18.0-553.47.1.el8_10.x86_64 #1 SMP Wed Apr 2 05:45:37 EDT 2025 x86_64 User : rainic ( 1014) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /usr/share/doc/perl-IPC-System-Simple/examples/ |
Upload File : |
#!/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));
}