From 5e261df3efcb4e5c95d333474642dd0eb438b010 Mon Sep 17 00:00:00 2001 From: bms8197 Date: Sat, 28 Aug 2021 09:35:07 +0300 Subject: [PATCH] committing changes in /etc made by "-bash" Package changes: --- .etckeeper | 6 + smartmontools/smartd.conf | 145 ++++++++++++ smartmontools/smartd_warning.sh | 209 ++++++++++++++++++ sysconfig/smartmontools | 6 + .../multi-user.target.wants/smartd.service | 1 + 5 files changed, 367 insertions(+) create mode 100644 smartmontools/smartd.conf create mode 100755 smartmontools/smartd_warning.sh create mode 100644 sysconfig/smartmontools create mode 120000 systemd/system/multi-user.target.wants/smartd.service diff --git a/.etckeeper b/.etckeeper index ea8683b..c07cd3f 100755 --- a/.etckeeper +++ b/.etckeeper @@ -86,6 +86,7 @@ mkdir -p './security/console.perms.d' mkdir -p './security/namespace.d' mkdir -p './security/pwquality.conf.d' mkdir -p './selinux/targeted/logins' +mkdir -p './smartmontools/smartd_warning.d' mkdir -p './sssd/conf.d' mkdir -p './sssd/pki' mkdir -p './subversion' @@ -4706,6 +4707,10 @@ maybe chmod 0755 'skel' maybe chmod 0644 'skel/.bash_logout' maybe chmod 0644 'skel/.bash_profile' maybe chmod 0644 'skel/.bashrc' +maybe chmod 0755 'smartmontools' +maybe chmod 0644 'smartmontools/smartd.conf' +maybe chmod 0755 'smartmontools/smartd_warning.d' +maybe chmod 0755 'smartmontools/smartd_warning.sh' maybe chmod 0755 'snmp' maybe chmod 0755 'snmp/bind' maybe chmod 0644 'snmp/bind.config' @@ -4872,6 +4877,7 @@ maybe chmod 0644 'sysconfig/rsyslog' maybe chmod 0644 'sysconfig/run-parts' maybe chmod 0644 'sysconfig/sa-update' maybe chmod 0644 'sysconfig/saslauthd' +maybe chmod 0644 'sysconfig/smartmontools' maybe chmod 0644 'sysconfig/snapd' maybe chmod 0644 'sysconfig/snmpd' maybe chmod 0644 'sysconfig/snmptrapd' diff --git a/smartmontools/smartd.conf b/smartmontools/smartd.conf new file mode 100644 index 0000000..32897f1 --- /dev/null +++ b/smartmontools/smartd.conf @@ -0,0 +1,145 @@ +# Sample configuration file for smartd. See man smartd.conf. + +# Home page is: http://www.smartmontools.org + +# $Id: smartd.conf 4120 2015-08-27 16:12:21Z samm2 $ + +# smartd will re-read the configuration file if it receives a HUP +# signal + +# The file gives a list of devices to monitor using smartd, with one +# device per line. Text after a hash (#) is ignored, and you may use +# spaces and tabs for white space. You may use '\' to continue lines. + +# You can usually identify which hard disks are on your system by +# looking in /proc/ide and in /proc/scsi. + +# The word DEVICESCAN will cause any remaining lines in this +# configuration file to be ignored: it tells smartd to scan for all +# ATA and SCSI devices. DEVICESCAN may be followed by any of the +# Directives listed below, which will be applied to all devices that +# are found. Most users should comment out DEVICESCAN and explicitly +# list the devices that they wish to monitor. +DEVICESCAN -H -m root -M exec /usr/libexec/smartmontools/smartdnotify -n standby,10,q + +# Alternative setting to ignore temperature and power-on hours reports +# in syslog. +#DEVICESCAN -I 194 -I 231 -I 9 + +# Alternative setting to report more useful raw temperature in syslog. +#DEVICESCAN -R 194 -R 231 -I 9 + +# Alternative setting to report raw temperature changes >= 5 Celsius +# and min/max temperatures. +#DEVICESCAN -I 194 -I 231 -I 9 -W 5 + +# First ATA/SATA or SCSI/SAS disk. Monitor all attributes, enable +# automatic online data collection, automatic Attribute autosave, and +# start a short self-test every day between 2-3am, and a long self test +# Saturdays between 3-4am. +#/dev/sda -a -o on -S on -s (S/../.././02|L/../../6/03) + +# Monitor SMART status, ATA Error Log, Self-test log, and track +# changes in all attributes except for attribute 194 +#/dev/sdb -H -l error -l selftest -t -I 194 + +# Monitor all attributes except normalized Temperature (usually 194), +# but track Temperature changes >= 4 Celsius, report Temperatures +# >= 45 Celsius and changes in Raw value of Reallocated_Sector_Ct (5). +# Send mail on SMART failures or when Temperature is >= 55 Celsius. +#/dev/sdc -a -I 194 -W 4,45,55 -R 5 -m admin@example.com + +# An ATA disk may appear as a SCSI device to the OS. If a SCSI to +# ATA Translation (SAT) layer is between the OS and the device then +# this can be flagged with the '-d sat' option. This situation may +# become common with SATA disks in SAS and FC environments. +# /dev/sda -a -d sat + +# A very silent check. Only report SMART health status if it fails +# But send an email in this case +#/dev/sdc -H -C 0 -U 0 -m admin@example.com + +# First two SCSI disks. This will monitor everything that smartd can +# monitor. Start extended self-tests Wednesdays between 6-7pm and +# Sundays between 1-2 am +#/dev/sda -d scsi -s L/../../3/18 +#/dev/sdb -d scsi -s L/../../7/01 + +# Monitor 4 ATA disks connected to a 3ware 6/7/8000 controller which uses +# the 3w-xxxx driver. Start long self-tests Sundays between 1-2, 2-3, 3-4, +# and 4-5 am. +# NOTE: starting with the Linux 2.6 kernel series, the /dev/sdX interface +# is DEPRECATED. Use the /dev/tweN character device interface instead. +# For example /dev/twe0, /dev/twe1, and so on. +#/dev/sdc -d 3ware,0 -a -s L/../../7/01 +#/dev/sdc -d 3ware,1 -a -s L/../../7/02 +#/dev/sdc -d 3ware,2 -a -s L/../../7/03 +#/dev/sdc -d 3ware,3 -a -s L/../../7/04 + +# Monitor 2 ATA disks connected to a 3ware 9000 controller which +# uses the 3w-9xxx driver (Linux, FreeBSD). Start long self-tests Tuesdays +# between 1-2 and 3-4 am. +#/dev/twa0 -d 3ware,0 -a -s L/../../2/01 +#/dev/twa0 -d 3ware,1 -a -s L/../../2/03 + +# Monitor 2 SATA (not SAS) disks connected to a 3ware 9000 controller which +# uses the 3w-sas driver (Linux). Start long self-tests Tuesdays +# between 1-2 and 3-4 am. +# On FreeBSD /dev/tws0 should be used instead +#/dev/twl0 -d 3ware,0 -a -s L/../../2/01 +#/dev/twl0 -d 3ware,1 -a -s L/../../2/03 + +# Same as above for Windows. Option '-d 3ware,N' is not necessary, +# disk (port) number is specified in device name. +# NOTE: On Windows, DEVICESCAN works also for 3ware controllers. +#/dev/hdc,0 -a -s L/../../2/01 +#/dev/hdc,1 -a -s L/../../2/03 + +# Monitor 3 ATA disks directly connected to a HighPoint RocketRAID. Start long +# self-tests Sundays between 1-2, 2-3, and 3-4 am. +#/dev/sdd -d hpt,1/1 -a -s L/../../7/01 +#/dev/sdd -d hpt,1/2 -a -s L/../../7/02 +#/dev/sdd -d hpt,1/3 -a -s L/../../7/03 + +# Monitor 2 ATA disks connected to the same PMPort which connected to the +# HighPoint RocketRAID. Start long self-tests Tuesdays between 1-2 and 3-4 am +#/dev/sdd -d hpt,1/4/1 -a -s L/../../2/01 +#/dev/sdd -d hpt,1/4/2 -a -s L/../../2/03 + +# HERE IS A LIST OF DIRECTIVES FOR THIS CONFIGURATION FILE. +# PLEASE SEE THE smartd.conf MAN PAGE FOR DETAILS +# +# -d TYPE Set the device type: ata, scsi, marvell, removable, 3ware,N, hpt,L/M/N +# -T TYPE set the tolerance to one of: normal, permissive +# -o VAL Enable/disable automatic offline tests (on/off) +# -S VAL Enable/disable attribute autosave (on/off) +# -n MODE No check. MODE is one of: never, sleep, standby, idle +# -H Monitor SMART Health Status, report if failed +# -l TYPE Monitor SMART log. Type is one of: error, selftest +# -f Monitor for failure of any 'Usage' Attributes +# -m ADD Send warning email to ADD for -H, -l error, -l selftest, and -f +# -M TYPE Modify email warning behavior (see man page) +# -s REGE Start self-test when type/date matches regular expression (see man page) +# -p Report changes in 'Prefailure' Normalized Attributes +# -u Report changes in 'Usage' Normalized Attributes +# -t Equivalent to -p and -u Directives +# -r ID Also report Raw values of Attribute ID with -p, -u or -t +# -R ID Track changes in Attribute ID Raw value with -p, -u or -t +# -i ID Ignore Attribute ID for -f Directive +# -I ID Ignore Attribute ID for -p, -u or -t Directive +# -C ID Report if Current Pending Sector count non-zero +# -U ID Report if Offline Uncorrectable count non-zero +# -W D,I,C Monitor Temperature D)ifference, I)nformal limit, C)ritical limit +# -v N,ST Modifies labeling of Attribute N (see man page) +# -a Default: equivalent to -H -f -t -l error -l selftest -C 197 -U 198 +# -F TYPE Use firmware bug workaround. Type is one of: none, samsung +# -P TYPE Drive-specific presets: use, ignore, show, showall +# # Comment: text after a hash sign is ignored +# \ Line continuation character +# Attribute ID is a decimal integer 1 <= ID <= 255 +# except for -C and -U, where ID = 0 turns them off. +# All but -d, -m and -M Directives are only implemented for ATA devices +# +# If the test string DEVICESCAN is the first uncommented text +# then smartd will scan for devices. +# DEVICESCAN may be followed by any desired Directives. diff --git a/smartmontools/smartd_warning.sh b/smartmontools/smartd_warning.sh new file mode 100755 index 0000000..04aafd0 --- /dev/null +++ b/smartmontools/smartd_warning.sh @@ -0,0 +1,209 @@ +#! /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 <&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 &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 <