晋太元中,武陵人捕鱼为业。缘溪行,忘路之远近。忽逢桃花林,夹岸数百步,中无杂树,芳草鲜美,落英缤纷。渔人甚异之,复前行,欲穷其林。 林尽水源,便得一山,山有小口,仿佛若有光。便舍船,从口入。初极狭,才通人。复行数十步,豁然开朗。土地平旷,屋舍俨然,有良田、美池、桑竹之属。阡陌交通,鸡犬相闻。其中往来种作,男女衣着,悉如外人。黄发垂髫,并怡然自乐。 见渔人,乃大惊,问所从来。具答之。便要还家,设酒杀鸡作食。村中闻有此人,咸来问讯。自云先世避秦时乱,率妻子邑人来此绝境,不复出焉,遂与外人间隔。问今是何世,乃不知有汉,无论魏晋。此人一一为具言所闻,皆叹惋。余人各复延至其家,皆出酒食。停数日,辞去。此中人语云:“不足为外人道也。”(间隔 一作:隔绝) 既出,得其船,便扶向路,处处志之。及郡下,诣太守,说如此。太守即遣人随其往,寻向所志,遂迷,不复得路。 南阳刘子骥,高尚士也,闻之,欣然规往。未果,寻病终。后遂无问津者。
|
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 : /etc/smartmontools/ |
Upload File : |
#! /bin/sh
#
# smartd warning script
#
# Home page of code is: http://www.smartmontools.org
#
# Copyright (C) 2012-16 Christian Franke
#
# SPDX-License-Identifier: GPL-2.0-or-later
#
# $Id: smartd_warning.sh.in 4839 2018-11-27 18:26:08Z chrfranke $
#
set -e
# Set by config.status
export PATH="/usr/local/bin:/usr/bin:/bin"
PACKAGE="smartmontools"
VERSION="7.1"
prefix="/usr"
sysconfdir="/etc/smartmontools"
smartdscriptdir="${sysconfdir}"
# Default mailer
os_mailer="mail"
# Plugin directory (disabled if empty)
plugindir="${smartdscriptdir}/smartd_warning.d"
# Parse options
dryrun=
case $1 in
--dryrun) dryrun=t; shift ;;
esac
if [ $# != 0 ]; then
cat <<EOF
smartd $VERSION warning message script
Usage:
export SMARTD_MAILER='Path to external script, empty for "$os_mailer"'
export SMARTD_ADDRESS='Space separated mail addresses, empty if none'
export SMARTD_MESSAGE='Error Message'
export SMARTD_FAILTYPE='Type of failure, "EMailTest" for tests'
export SMARTD_TFIRST='Date of first message sent, empty if none'
#export SMARTD_TFIRSTEPOCH='time_t format of above'
export SMARTD_PREVCNT='Number of previous messages, 0 if none'
export SMARTD_NEXTDAYS='Number of days until next message, empty if none'
export SMARTD_DEVICEINFO='Device identify information'
#export SMARTD_DEVICE='Device name'
#export SMARTD_DEVICESTRING='Annotated device name'
#export SMARTD_DEVICETYPE='Device type from -d directive, "auto" if none'
$0 [--dryrun]
EOF
exit 1
fi
if [ -z "${SMARTD_ADDRESS}${SMARTD_MAILER}" ]; then
echo "$0: SMARTD_ADDRESS or SMARTD_MAILER must be set" >&2
exit 1
fi
# Get host and domain names
for cmd in 'hostname' 'echo "[Unknown]"'; do
hostname=`eval $cmd 2>/dev/null` || continue
test -n "$hostname" || continue
break
done
dnsdomain=${hostname#*.}
if [ "$dnsdomain" != "$hostname" ]; then
# hostname command printed FQDN
hostname=${hostname%%.*}
else
for cmd in 'dnsdomainname' 'hostname -d' 'echo'; do
dnsdomain=`eval $cmd 2>/dev/null` || continue
break
done
test "$dnsdomain" != "(none)" || dnsdomain=
fi
for cmd in 'nisdomainname' 'hostname -y' 'domainname' 'echo'; do
nisdomain=`eval $cmd 2>/dev/null` || continue
break
done
test "$nisdomain" != "(none)" || nisdomain=
# Format subject
export SMARTD_SUBJECT="SMART error (${SMARTD_FAILTYPE-[SMARTD_FAILTYPE]}) detected on host: $hostname"
# Format message
fullmessage=`
echo "This message was generated by the smartd daemon running on:"
echo
echo " host name: $hostname"
echo " DNS domain: ${dnsdomain:-[Empty]}"
test -z "$nisdomain" ||
echo " NIS domain: $nisdomain"
#test -z "$USERDOMAIN" ||
# echo " Win domain: $USERDOMAIN"
echo
echo "The following warning/error was logged by the smartd daemon:"
echo
echo "${SMARTD_MESSAGE-[SMARTD_MESSAGE]}"
echo
echo "Device info:"
echo "${SMARTD_DEVICEINFO-[SMARTD_DEVICEINFO]}"
echo
echo "For details see host's SYSLOG."
if [ "$SMARTD_FAILTYPE" != "EmailTest" ]; then
echo
echo "You can also use the smartctl utility for further investigation."
test "$SMARTD_PREVCNT" = "0" ||
echo "The original message about this issue was sent at ${SMARTD_TFIRST-[SMARTD_TFIRST]}"
case $SMARTD_NEXTDAYS in
'') echo "No additional messages about this problem will be sent." ;;
1) echo "Another message will be sent in 24 hours if the problem persists." ;;
*) echo "Another message will be sent in $SMARTD_NEXTDAYS days if the problem persists." ;;
esac
fi
`
# Export message with trailing newline
export SMARTD_FULLMESSAGE="$fullmessage
"
# Run plugin scripts if requested
if test -n "$plugindir"; then
case " $SMARTD_ADDRESS" in
*\ @*)
if [ -n "$dryrun" ]; then
echo "export SMARTD_SUBJECT='$SMARTD_SUBJECT'"
echo "export SMARTD_FULLMESSAGE='$SMARTD_FULLMESSAGE'"
fi
# Run ALL scripts if requested
case " $SMARTD_ADDRESS " in
*\ @ALL\ *)
for cmd in "$plugindir"/*; do
if [ -f "$cmd" ] && [ -x "$cmd" ]; then
if [ -n "$dryrun" ]; then
echo "$cmd </dev/null"
else
"$cmd" </dev/null
fi
fi
done
;;
esac
# Run selected scripts
addrs=$SMARTD_ADDRESS
SMARTD_ADDRESS=
for ad in $addrs; do
case $ad in
@ALL)
;;
@?*)
cmd="$plugindir/${ad#@}"
if [ -f "$cmd" ] && [ -x "$cmd" ]; then
if [ -n "$dryrun" ]; then
echo "$cmd </dev/null"
else
"$cmd" </dev/null
fi
elif [ ! -e "$cmd" ]; then
echo "$cmd: Not found" >&2
fi
;;
*)
SMARTD_ADDRESS="${SMARTD_ADDRESS:+ }$ad"
;;
esac
done
# Send email to remaining addresses
test -n "$SMARTD_ADDRESS" || exit 0
;;
esac
fi
# Send mail or run command
if [ -n "$SMARTD_ADDRESS" ]; then
# Send mail, use platform mailer by default
test -n "$SMARTD_MAILER" || SMARTD_MAILER=$os_mailer
if [ -n "$dryrun" ]; then
echo "exec '$SMARTD_MAILER' -s '$SMARTD_SUBJECT' $SMARTD_ADDRESS <<EOF
$fullmessage
EOF"
else
exec "$SMARTD_MAILER" -s "$SMARTD_SUBJECT" $SMARTD_ADDRESS <<EOF
$fullmessage
EOF
fi
elif [ -n "$SMARTD_MAILER" ]; then
# Run command
if [ -n "$dryrun" ]; then
echo "export SMARTD_SUBJECT='$SMARTD_SUBJECT'"
echo "export SMARTD_FULLMESSAGE='$SMARTD_FULLMESSAGE'"
echo "exec '$SMARTD_MAILER' </dev/null"
else
unset SMARTD_ADDRESS
exec "$SMARTD_MAILER" </dev/null
fi
fi