参考 https://blog.51cto.com/slitobo/1931017
Ubuntu的 root 用户
安装ubuntu成功后,都是普通用户权限,并没有最高root权限,如果需要使用 root权限的时候,通常都会在命令前面加上 sudo 。有的时候感觉很麻烦。(演示)
我们一般使用su命令来直接切换到root用户的,但是如果没有给root 设置初始密码,就会抛出su : Authentication failure这样的问题。所以,我们只要给root用户设置一个初始密码就好了。
1.创建CFG_FILE 文件
重要 请使用 root 权限进行 下面的操作
su root
该脚本备份的目录或者文件全部写到一个文件中CFG_FILE
vi CFG_FILE
按 i 插入
按 Esc
然后输入 :wq 保存退出
使用cat 命令查看如下
2.创建backup.sh
#!/bin/bash
#backup directory or file
#by bingge 2021/6/28
#notice:
# The scripts read content from "CFG_FILE",you must create it first.
# CFG_FILE content like below:
# /hoem
# /etc
# 备份后文件保存的目录
DES_DIR=/data/backup
# 快照目录
INC_DIR=$DES_DIR/snapshot
INC_FILE=snapshot
DATE_DIR=$DES_DIR/$(date +%y%m%d)
INC_TAR_FILE=INC_$(date "+%y%m%d-%H%M").tar.gz
# 递归创建目录
[ -d $DES_DIR ] || mkdir -p $DES_DIR &> /dev/null
[ -d $INC_DIR ] || mkdir -p $INC_DIR &> /dev/null
[ -d $DATE_DIR ] || mkdir -p $DATE_DIR &> /dev/null
[ ! -s CFG_FILE ] && echo -e "\033[31m *** Please create CFG_FILE or add the content ***\033[0m" && exit 10
exec < CFG_FILE
while read filename
do
if [ ! -d $filename ] && [ ! -f $filename ];then
echo -e "\033[31m $filename IS NOT EXISTS! Please Check Path !!! \033[0m"
sleep 2
else
FILE=$(basename $filename)
DIR=$(dirname $filename)
var=$(echo ${filename:1} | sed 's@/@_@g')
#echo $var
cd $DIR
tar -g $INC_DIR/"$var"_$INC_FILE -czvf $DATE_DIR/"$var"_$INC_TAR_FILE $FILE &> /dev/null
echo "$DATE_DIR/"$var"_$INC_TAR_FILE created..."
fi
done
3.加可执行权限
chmod +x backup.sh
4.执行
./backup.sh
5.效果如下
进入相应目录想看 备份的文件
解压查看一下