本题为楼主Linux学习途中不理解的题目,请大家帮忙解答,谢谢大家。如图所示,请给出详细步骤。
基于new bing部分指引作答:
要实现每天18:00备份/etc目录下的所有文件,并将归档文件保存在/home/user/backup目录下,可以按照以下步骤进行操作:
1、创建备份脚本:
打开终端,并使用文本编辑器创建一个新的备份脚本文件,比如使用vi编辑器打开一个名为script的文件:
vi /etc/cron.d/script
2、在脚本文件中输入以下内容:
#!/bin/bash
backup_dir="/home/$(whoami)/backup"
archive_name="etc-$(date +%Y-%m-%d).tar.gz"
tar -zcvf "$backup_dir/$archive_name" /etc
上述脚本中,我们使用了$(whoami)来获取当前登录的用户名,然后将备份存储目录和归档文件名进行了定义。接下来,使用tar命令将/etc目录下的所有文件打包成一个压缩文件。
注意:在脚本中使用了/etc作为备份源目录,这将备份/etc目录下的所有文件和子目录。如果你只想备份/etc目录下的文件而不包括子目录,请使用tar -zcvf "$backup_dir/$archive_name" /etc/*。
3、保存并退出脚本文件:
在vi编辑器中按下Esc键,然后输入:wq保存并退出。
4、授予脚本执行权限:
运行以下命令,以确保脚本文件具有执行权限:
chmod +x /etc/cron.d/script
5、设置定时任务:
运行以下命令,以编辑定时任务配置文件:
crontab -e
如果是首次编辑定时任务,可能需要选择一个文本编辑器。选择你喜欢的编辑器,并添加以下行:
0 18 * * * /etc/cron.d/script
上述行中的0 18 * * *表示脚本将在每天的18:00执行。保存并退出编辑器。
现在,每天18:00时,脚本将在/home/user/backup目录下创建一个名为etc-YYYY-MM-DD.tar.gz的归档文件,其中YYYY-MM-DD为当天的日期。归档文件将包含/etc目录下的所有文件。
先编辑script:
sudo vi /etc/cron.d/script
script中执行:
#!/bin/bash
current_user=$(whoami)
current_date=$(date +"%Y-%m-%d")
tar -czvf /home/$current_user/backup/etc-$current_date.tar.gz /etc
这边使用你的默认命令推出编辑状态,这个最基本的你应该了解
修改权限:
sudo chmod +x /etc/cron.d/script
有帮助的 采纳一下
#!/bin/bash
# 归档脚本
BACKUP_DIR=/home/$(whoami)/backup # 备份目录
DATE=$(date +%Y-%m-%d) # 获取日期
ARCHIVE_NAME=etc-${DATE} # 归档文件名
# 创建备份目录
if [ ! -d "$BACKUP_DIR" ]; then
mkdir -p $BACKUP_DIR
fi
# 归档/etc目录
tar -zcf ${BACKUP_DIR}/${ARCHIVE_NAME}.tar.gz /etc
# 放入定时任务
crontab -e
# 添加如下定时任务
0 18 * * * /etc/cron.d/script