1
0
mirror of https://github.com/rancher/os.git synced 2025-06-25 22:41:36 +00:00
os/scripts/tools/collect_rancheros_info.sh
2019-01-23 22:16:15 +08:00

65 lines
1.8 KiB
Bash

#!/bin/sh
# How to use:
#
# 1. Login to your rancheros and switch to root
# $ sudo su - root
# 2. Collecting rancheros information
# # curl https://raw.githubusercontent.com/rancher/os/master/scripts/tools/collect_rancheros_info.sh | sh
set -e
# /var/log directory
log_src_dir=/var/log
# Rancher config file directory
conf_file_src_dir=/var/lib/rancher/conf
# Os-config directory
os_config_dir=/usr/share/ros/os-config.yml
# Export directory
dest_dir=/tmp/ros
# Exported log directory
dest_log_dir=$dest_dir/roslogs
# Exported config directory
dest_conf_dir=$dest_dir/rosconf
DATE=`date +%Y_%m_%d_%H`
ARCHIVE=$DATE.tar
# Create destination directory
for i in $dest_conf_dir $dest_log_dir; do
if [ ! -d $i ]; then
mkdir -p $i
fi
done
# Hidden ssh-rsa
hiddenSshRsa(){
sed -i 's/ssh-rsa.*$/ssh-rsa .../g' $1
}
# Export /var/log
cp -arf $log_src_dir $dest_log_dir
# Export rancheros config
ros c export -o $dest_conf_dir/ros-config-export.conf
ros -v > $dest_conf_dir/ros-version
uname -r > $dest_conf_dir/kernel-version
system-docker info > $dest_conf_dir/system-docker-info
docker info > $dest_conf_dir/docker-info
cat /proc/mounts > $dest_conf_dir/proc-mounts
cat /proc/1/mounts > $dest_conf_dir/proc-1-mounts
cat /proc/cmdline > $dest_conf_dir/cmdline
dmesg > $dest_conf_dir/dmesg.log
cd $conf_file_src_dir && cp -rf `ls | grep -E -v "^(pem)$"` $dest_conf_dir
cp -arf $os_config_dir $dest_conf_dir
hiddenSshRsa $dest_conf_dir/ros-config-export.conf
if [ -f $dest_conf_dir/metadata ]; then
hiddenSshRsa $dest_conf_dir/metadata
fi
tar -c -f /tmp/rancheros_export_$ARCHIVE -C $dest_dir . >/dev/null 2>&1
echo "*********************************************************"
echo "The RancherOS config and log are successfully exported."
echo "Please check the /tmp/rancheros_export_$ARCHIVE."
echo "*********************************************************"