shell脚本:有一普通用户想在每周六晚上十点十分定期备份/tmp到/user/backup目录下,该用户应如何做?

(1)第一种方法:

用户应使用crontab -e 命令创建crontab文件。格式如下:

10 22 * * 6 cp -r /tmp /user/backup 

(2)第二种方法:

用户先在自己目录下新建文件file,文件内容如下:

10 22 * * 6 cp -r /tmp /user/backup 

然后执行 crontab file 使生效。

### 回答1: 可以使用以下脚本实现: ``` #!/bin/bash # 复制 /root/ 下的所有目录到 /tmp/ 下 cp -r /root/*/ /tmp/ ``` 注意,使用该脚本需要具有管理员权限。另外,该脚本会将 /root/ 下的所有目录复制到 /tmp/ 下,如果 /tmp/ 目录下已经存在同名目录,则会覆盖原有目录。 ### 回答2: 可以使用以下的shell脚本来实现把/root/目录下的所有目录复制到/tmp/目录下: ```shell #!/bin/bash # 进入/root/目录 cd /root/ # 获取/root/目录下的所有目录 directories=$(ls -d */) # 遍历目录列表 for dir in $directories do # 将目录复制到/tmp/目录下 cp -r "$dir" /tmp/ done # 提示复制完成 echo "目录已复制到/tmp/目录下" ``` 脚本的过程如下: 1. 进入/root/目录; 2. 使用`ls -d */`命令获取/root/目录下的所有目录,存储在变量`directories`中; 3. 使用for循环遍历目录列表,每次循环将当前目录复制到/tmp/目录下; 4. 复制完成后,通过`echo`命令提示复制完成。 最后,脚本会输出"目录已复制到/tmp/目录下"来表示复制过程已完成。 ### 回答3: 编写一个shell脚本来将/root/目录下的所有目录复制到/tmp/目录下,可以按照以下步骤进行操作: 1. 打开一个文本编辑器,创建一个新的文件,并给它一个有意义的名字,比如copy_dirs.sh。 2. 在文件的开头添加一行声明,告诉系统这是一个shell脚本:#!/bin/bash 3. 下一行是要执行的命令,通过使用cp命令复制目录。命令的格式是:cp -r 源目录 目标目录。在我们的情况下,源目录是/root/,目标目录是/tmp/。 4. 接下来,我们需要列出/root/目录下的所有目录。我们可以使用ls命令,加上选项-d和/*/来列出只包含目录的结果。 5. 将这个结果作为复制命令的参数。使用反引号(`)将ls命令的结果嵌入到复制命令中。 6. 最后,保存并关闭文件。 下面是一个示例的copy_dirs.sh脚本: ```bash #!/bin/bash cp -r `ls -d /root/*/` /tmp/ ``` 保存文件后,我们需要为脚本添加执行权限。打开终端,进入脚本所在的目录,并执行以下命令: ```bash chmod +x copy_dirs.sh ``` 现在,我们可以运行脚本了。在终端中执行以下命令: ```bash ./copy_dirs.sh ``` 脚本将会复制/root/目录下的所有目录到/tmp/目录下。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值