一、实战练习1
备注:时间戳 : $(date +%Y%m%d%H%M%S) :当前年月日时分秒
1.创建带时间标记的目录,格式为:/data/年月日
mkdir -p /data/ $(date +%Y%m%d)
2.查找/var/log目录下,大小在4k以上,将查找到的文件复制到步骤1创建的目录下
find /var/log -size +4k -exec cp -f {} /data/$(date +%Y%m%d) \;
3.对步骤1的目录进行打包,名为时间标记_log.tar.gz.例如20230609161401_log.tar.gz
tar cvzf $(date +%Y%m%d) _log.tar.gz $(date +%Y%m%d)
4.查找在步骤1创建的目录下,大小在4k以上的普通文件,将符合条件的文件删除.
find /data/$(date +%Y%m%d) -type f -size +4k -exec rm -rf {} \;
二、实战练习2
配置计划任务,完成以下任务
每隔2小时完成备份,计划任务在执行完以后无接收邮件提示
要求如下:
1.创建带时间标记的目录,格式为:/data/backup/年月日时分秒,/data/tar/gz/,/data/backup/logs
2.查找/var/log目录下,大小在4k,将查找到的文件复制到步骤1创建的(/data/backup/年月日时分秒)目录下
3.对步骤1的年月日时分秒目录进行打包,打包文件路径为/data/tar/gz/下,文件名为时间标记_log.tar.gz.例如20230609161401_log.tar.gz
4.配置上述命令的错误输出,输出到文件/data/backup/logs/error.log中,保留原始错误输出格式.
vim /abc.txt
#!/bin/bash
GROUPNAME=$(date +%Y%m%d%H%M%S)
mkdir -p /data/backup/${GROUPNAME} /data/tar/gz /data/backup/logs 2 > /data/backup/logs/error.log
find /var/log -size +4k -exec cp -rf {} /data/tar/gz ; 2 > /data/backup/logs/error.log
cd /data/tar/gz
tar cvzj ${GROUPNAME}_log.tar.gz ./ ${GROUPNAME} 2 > /data/backup/logs/error.log
chmod a+x /abc.txt
00 02 * * * /abc.txt &>/dev/null