#!bin/sh DIRNAME='ls /root | grep bak' if [ -z "$DIRNAME" ] then mkdir /root/bak;cd /root/bak fi YY='date +%y' ; MM='date +%m';DD='date +%d' BACKETC=$YY$MM$DD_etc.tar.gz tar zcvf $BACKETC /etc echo "fileback finished!" 说明每一步完成的功能
时间: 2024-04-20 13:26:49 浏览: 111
linux下QT程序打包记录
这段代码是一个简单的Shell脚本,用于备份/etc目录。
1. `DIRNAME='ls /root | grep bak'`:设置变量DIRNAME为执行命令`ls /root | grep bak`的结果。该命令的目的是检查/root目录下是否存在名为bak的文件夹。
2. `if [ -z "$DIRNAME" ]`:如果变量DIRNAME为空(即不存在名为bak的文件夹),则执行下面的代码块。
3. `mkdir /root/bak;cd /root/bak`:创建/root/bak文件夹,并进入该目录。
4. `YY='date +%y'; MM='date +%m';DD='date +%d'`:设置变量YY、MM、DD分别为执行命令`date +%y`、`date +%m`、`date +%d`的结果。这些命令用于获取当前的年、月、日。
5. `BACKETC=$YY$MM$DD_etc.tar.gz`:设置变量BACKETC为拼接字符串"$YY$MM$DD_etc.tar.gz"。这个字符串的格式是年月日_etc.tar.gz,用于作为备份文件的名称。
6. `tar zcvf $BACKETC /etc`:使用tar命令将/etc目录打包为一个压缩文件,文件名为变量BACKETC的值。
7. `echo "fileback finished!"`:输出字符串"fileback finished!",表示文件备份完成。
所以,这段脚本的功能是检查是否存在备份目录,如果不存在则创建目录,并将/etc目录打包为一个以日期命名的压缩文件。最后输出备份完成的提示信息。
阅读全文