使用linux命令备份/home目录下在一周时间内所有访问过的文件
时间: 2024-10-15 20:30:41 浏览: 28
你可以使用Linux的`find`和`tar`命令结合`cron`定时任务来实现这一需求。首先,确保你有权限访问/home目录及其子目录,并设置一个脚本来完成这个任务。这里是一个简单的示例:
```bash
#!/bin/bash
# 定义源目录、目标备份目录和时间范围(一周前)
SOURCE_DIR="/home"
BACKUP_DIR="/path/to/backup/directory"
TIMESTAMP=$(date -d "7 days ago" +%Y%m%d)
# 使用find命令查找一周内访问过的文件
ACCESS_FILES=$(find $SOURCE_DIR -type f -atime -7)
# 创建tar归档并压缩
TAR_FILE="$BACKUP_DIR/home_access_files_$(date +%Y-%m-%d).tar.gz"
tar czf $TAR_FILE $ACCESS_FILES
echo "Backup created: $TAR_FILE"
# 如果需要定期运行此任务,可以将其添加到crontab中,例如每天凌晨3点执行
# 将下面这行放入~/.cronjob(假设存在),并赋予相应权限
# (replace USER with your actual username)
crontab -e
* * * * * USER /path/to/this/script.sh
```
将上述脚本保存为`backup_home_access_files.sh`,然后给它执行权限:
```bash
chmod +x backup_home_access_files.sh
```
最后,如果你希望这个操作每天自动执行一次,可以在`crontab`中添加相应的定时任务。
阅读全文