麻烦写一个备份并清理整个用户90天前的文件的shell脚本

时间: 2023-07-13 14:31:35 浏览: 41
好的,以下是一个备份并清理用户90天前文件的Shell脚本: ``` #!/bin/bash # 备份目录 backup_dir="/path/to/backup/dir" # 需要备份的目录 source_dir="/home" # 备份文件名 backup_file="backup-$(date +%Y%m%d-%H%M%S).tar.gz" # 查找并备份90天前修改过的文件 find $source_dir -type f -mtime +90 -print0 | xargs -0 tar -czf $backup_dir/$backup_file # 删除90天前的文件 find $source_dir -type f -mtime +90 -delete ``` 这个脚本会在指定的备份目录下创建一个名为 backup-年月日-时分秒.tar.gz 的备份文件,并备份所有90天前修改过的文件。然后,它会查找并删除所有90天前的文件。 你可以将 backup_dir 和 source_dir 变量替换为你实际的备份目录和需要备份的目录,然后将脚本保存为 .sh 文件,并设置为可执行文件,即可运行。
相关问题

麻烦写一个备份并清理整个用户90天前的文件的shell脚本,备份日期为90天前的日期

好的,以下是一个备份并清理用户90天前文件的shell脚本: ```bash #!/bin/bash # 设置备份目录和备份日期 backup_dir="/backup" backup_date=$(date --date="90 days ago" +%Y%m%d) # 创建备份目录 mkdir -p $backup_dir # 备份90天前的文件 find /home -type f -mtime +90 -print0 | xargs -0 tar -czf $backup_dir/files_$backup_date.tar.gz # 清理90天前的文件 find /home -type f -mtime +90 -delete ``` 这个脚本首先设置了备份目录和备份日期,然后创建了备份目录。接着,使用 `find` 命令查找用户目录下90天前的文件,并使用 `tar` 命令将它们归档并压缩到备份目录中。最后,使用 `find` 命令删除90天前的文件。 请注意,这个脚本只备份和清理90天前的文件,如果你需要备份和清理其他时间段的文件,可以修改 `find` 命令中的 `-mtime` 参数。

写一个删除超过七天备份文件的shell脚本

以下是一个删除超过七天备份文件的Shell脚本示例: ```bash #!/bin/bash backup_dir="/path/to/backup/directory" # 获取当前日期 current_date=$(date +%s) # 遍历备份目录中的文件 for file in "$backup_dir"/*; do # 获取文件的修改时间 modified_date=$(stat -c %Y "$file") # 计算文件的存在时间(以秒为单位) time_diff=$((current_date - modified_date)) days_diff=$((time_diff / 86400)) # 一天有86400秒 # 如果文件存在时间超过七天,则删除文件 if [ $days_diff -gt 7 ]; then rm "$file" echo "删除文件: $file" fi done ``` 在上面的脚本中,需要将`/path/to/backup/directory`替换为你实际的备份目录路径。脚本会遍历备份目录中的所有文件,获取每个文件的修改时间,并计算文件存在的天数。如果文件存在时间超过七天,则使用`rm`命令删除该文件,并输出删除的文件路径。 请注意,在运行脚本之前,请确保你有足够的权限来删除文件。另外,强烈建议在运行该脚本之前进行测试,并确保没有误删重要的备份文件。

相关推荐

最新推荐

recommend-type

shell备份文件、重命名文件、删除指定文件的3个脚本分享

主要介绍了shell备份文件、重命名文件、删除指定文件的3个脚本分享,是学习shell时的练习脚本,shell新手朋友可以参考下哦
recommend-type

Shell脚本中实现切换用户并执行命令操作

主要介绍了Shell脚本中实现切换用户并执行命令操作,看了示例代码就秒懂了,原来如此简单,需要的朋友可以参考下
recommend-type

一个监控LINUX目录和文件变化的Shell脚本分享

主要介绍了一个监控LINUX目录和文件变化的Shell脚本分享,对服务器经常被挂马的朋友时分有用,需要的朋友可以参考下
recommend-type

Shell脚本对比两个文本文件找出不同行的2个方法分享

主要介绍了Shell脚本对比两个文本文件找出不同行的2个方法分享,本文分别使用comm命令法、grep命令法实现,需要的朋友可以参考下
recommend-type

shell脚本实现文件锁功能

主要介绍了shell脚本实现文件锁功能,本文实现了一个排它锁,从而实现避免脚本重复执行,需要的朋友可以参考下
recommend-type

zigbee-cluster-library-specification

最新的zigbee-cluster-library-specification说明文档。
recommend-type

管理建模和仿真的文件

管理Boualem Benatallah引用此版本:布阿利姆·贝纳塔拉。管理建模和仿真。约瑟夫-傅立叶大学-格勒诺布尔第一大学,1996年。法语。NNT:电话:00345357HAL ID:电话:00345357https://theses.hal.science/tel-003453572008年12月9日提交HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaire
recommend-type

实现实时数据湖架构:Kafka与Hive集成

![实现实时数据湖架构:Kafka与Hive集成](https://img-blog.csdnimg.cn/img_convert/10eb2e6972b3b6086286fc64c0b3ee41.jpeg) # 1. 实时数据湖架构概述** 实时数据湖是一种现代数据管理架构,它允许企业以低延迟的方式收集、存储和处理大量数据。与传统数据仓库不同,实时数据湖不依赖于预先定义的模式,而是采用灵活的架构,可以处理各种数据类型和格式。这种架构为企业提供了以下优势: - **实时洞察:**实时数据湖允许企业访问最新的数据,从而做出更明智的决策。 - **数据民主化:**实时数据湖使各种利益相关者都可
recommend-type

用 Python 画一个可以动的爱心

好的,我可以帮助您使用Python来绘制一个动态的爱心。您可以使用turtle库来实现。以下是实现代码: ```python import turtle import math # 设置画布和画笔 canvas = turtle.Screen() canvas.bgcolor("black") pencil = turtle.Turtle() pencil.speed(0) pencil.color("red", "pink") pencil.pensize(3) # 定义爱心函数 def draw_love(heart_size, x_offset=0, y_offset=0):
recommend-type

JSBSim Reference Manual

JSBSim参考手册,其中包含JSBSim简介,JSBSim配置文件xml的编写语法,编程手册以及一些应用实例等。其中有部分内容还没有写完,估计有生之年很难看到完整版了,但是内容还是很有参考价值的。