请编写一个名为filebak.sh的脚本程序。程序功能如下:(30分) 1) 判断/tmp/bak目录是否存在,如果不存在则新建该目录;最后进入该目录; 2) 备份并压缩/etc目录的所有内容,且压缩文件的文件名为如:yymmdd_etc,yy为年,mm为月,dd为日
时间: 2024-02-26 12:59:20 浏览: 86
好的,以下是filebak.sh的脚本程序,实现上述功能:
```
#!/bin/bash
# 判断/tmp/bak目录是否存在,不存在则新建该目录
if [ ! -d "/tmp/bak" ]; then
mkdir /tmp/bak
fi
# 进入该目录
cd /tmp/bak
# 获取当前日期
DATE=$(date +%y%m%d)
# 备份并压缩/etc目录的所有内容,压缩文件名为yymmdd_etc
tar -zcvf $DATE\_etc.tar.gz /etc
echo "备份并压缩/etc目录完成!"
```
注意:
1. 请在Linux系统中执行该脚本程序。
2. 执行脚本程序前,请确保您有执行权限。如果没有权限,请使用 chmod +x filebak.sh 命令为该脚本程序添加执行权限。
3. 执行脚本程序后,备份文件将会存储在/tmp/bak目录中。
相关问题
若上题中的脚本filebak.sh每周日的零点整被执行一次,请编写该周期性任务。(20分
好的,以下是周期性任务的设置方法:
1. 在Linux系统中打开终端,输入以下命令进入crontab编辑器:
```
crontab -e
```
2. 在编辑器中添加如下一行:
```
0 0 * * 0 /path/to/filebak.sh
```
该行代码中,0 0 * * 0 表示每周日的零点整执行一次,/path/to/filebak.sh 则为需要执行的脚本程序的路径和名称。
3. 保存并退出编辑器。
这样,每周日的零点整,系统就会自动执行filebak.sh脚本程序,进行备份并压缩/etc目录的所有内容,并将压缩文件存储在/tmp/bak目录中。
阅读全文