Linux有关内容,求解答

本题为楼主Linux学习途中不理解的题目,请大家帮忙解答,谢谢大家。如图所示,请给出详细步骤。

img

基于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