忍者ブログ

◆当blogは、Linuxサーバ構築する際の実際の設定手順を個人的メモとして記載しております。LinuC試験の役に立つ情報があるかも…?

LinuC(Linux技術者認定資格)&リナックスサーバ構築設定事例

   

【Shell Script】設定コピー取得

■ スクリプトの書き方
 #!/bin/bash ⇒ スクリプトの先頭行に必ず記入する
■ for文を1行で書いて実行する場合は以下のように記入する
 for aaa in $(ls /usr); do ls -ld /usr/$aaa; done
■ サーバの情報取得のスクリプト例
#=============================
# 情報取得用ディレクトリ作成
DATE=`date +%Y%m%d%H%M%S`
TMP_DIRECTORY="/tmp/_`hostname`_${DATE}"
mkdir -p ${TMP_DIRECTORY}
mkdir -p ${TMP_DIRECTORY}/OS
mkdir -p ${TMP_DIRECTORY}/MW
chmod -R 777 ${TMP_DIRECTORY}
#=============================
# 実行シェル情報
echo $SHELL > ${TMP_DIRECTORY}/shell.txt
echo $0 >> ${TMP_DIRECTORY}/shell.txt
#=============================
# 設定ファイル名表示
ls -laR --ignore=proc* / > ${TMP_DIRECTORY}/OS/ls-laR.txt
ls -lh ${TMP_DIRECTORY}/OS/ls-laR.txt
#=============================
# 配下のファイルを全部コピー
cd /
tar cf - ./etc | (cd ${TMP_DIRECTORY}/OS/ ; tar xf - )
tar cf - ./boot | (cd ${TMP_DIRECTORY}/OS/ ; tar xf - )
tar cf - ./usr/local/lib | (cd ${TMP_DIRECTORY}/MW/ ; tar xf - )
#=============================
# NetWork情報
ifconfig > ${TMP_DIRECTORY}/OS/ifconfig_ip.txt
ip addr >> ${TMP_DIRECTORY}/OS/ifconfig_ip.txt
netstat -rn > ${TMP_DIRECTORY}/OS/NETSTAT.txt
netstat -rn -A inet6 >> ${TMP_DIRECTORY}/OS/NETSTAT.txt
netstat -a >> ${TMP_DIRECTORY}/OS/NETSTAT.txt
netstat -a -A inet6 >> ${TMP_DIRECTORY}/OS/NETSTAT.txt
netstat -s >> ${TMP_DIRECTORY}/OS/NETSTAT.txt
netstat -s -A inet6 >> ${TMP_DIRECTORY}/OS/NETSTAT.txt
netstat >> ${TMP_DIRECTORY}/OS/NETSTAT.txt
route -n > ${TMP_DIRECTORY}/OS/route.txt
#=============================
# ログ設定
logrotate -dv /etc/logrotate.conf > ${TMP_DIRECTORY}/OS/logrotate.txt 2>&1
cp -p /var/lib/logrotate/logrotate.status ${TMP_DIRECTORY}/OS/logrotate.status
#=============================
# uptime情報
uptime > ${TMP_DIRECTORY}/OS/uptime.txt
#=============================
# ディスク情報
df -h > ${TMP_DIRECTORY}/OS/df_fdisk_swapon.txt
fdisk -l >> ${TMP_DIRECTORY}/OS/df_fdisk_swapon.txt
/sbin/swapon -s >> ${TMP_DIRECTORY}/OS/df_fdisk_swapon.txt
#=============================
# LVM情報
pvs > ${TMP_DIRECTORY}/OS/LVM.txt
pvdisplay -v >> ${TMP_DIRECTORY}/OS/LVM.txt
vgs >> ${TMP_DIRECTORY}/OS/LVM.txt
vgdisplay -v >> ${TMP_DIRECTORY}/OS/LVM.txt
lvs >> ${TMP_DIRECTORY}/OS/LVM.txt
lvdisplay -v >> ${TMP_DIRECTORY}/OS/LVM.txt
#=============================
# マウント情報
mount > ${TMP_DIRECTORY}/OS/mount.txt
#=============================
# ホスト名の設定
hostnamectl > ${TMP_DIRECTORY}/OS/HOSTNAME.txt
hostname >> ${TMP_DIRECTORY}/OS/HOSTNAME.txt
uname -a >> ${TMP_DIRECTORY}/OS/HOSTNAME.txt
hostid >> ${TMP_DIRECTORY}/OS/HOSTNAME.txt
#=============================
# rpmパッケージ情報
rpm -aq > ${TMP_DIRECTORY}/OS/RPM.txt
rpm -qa --list >> ${TMP_DIRECTORY}/OS/RPM.txt
rpm -qa --qf '%{name}-%{version}-%{release}.%{arch}.rpm\n' | sort >> ${TMP_DIRECTORY}/OS/RPM.txt
#=============================
# デバイス情報
lspci -vv > ${TMP_DIRECTORY}/OS/lspci.txt
dmidecode > ${TMP_DIRECTORY}/OS/dmidecode.txt
cat /proc/cpuinfo > ${TMP_DIRECTORY}/OS/CPUinfo.txt
cat /proc/meminfo > ${TMP_DIRECTORY}/OS/MEMinfo.txt
#=============================
cd ${TMP_DIRECTORY}
cd ..
#=============================
# tar zcvf _`hostname`_${DATE}.tar.gz ./_`hostname`_${DATE}
zip -r _`hostname`_${DATE}.zip ./_`hostname`_${DATE}
PR

更新日付

04 2025/05 06
S M T W T F S
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

RECOMMEND

プロフィール

HN:
Account
HP:
性別:
非公開
職業:
--- NODATA ---
趣味:
--- NODATA ---
自己紹介:
◆当blogは、Linuxサーバ構築する際の実際の設定手順を個人的メモとして記載しております。LinuC試験の役に立つ情報があるかも…?

リンク

<<【BAT】NetWork設定  | HOME |  【Shell Script】情報表示取得>>
Copyright ©  -- LinuC(Linux技術者認定資格)&リナックスサーバ構築設定事例 --  All Rights Reserved
Design by CriCri / Photo by Melonenmann / powered by NINJA TOOLS / 忍者ブログ / [PR]