shell编程linux每月按固定某一天压缩打包文件letc按年/月/日/打包
时间: 2023-08-06 15:05:27 浏览: 281
你可以使用 `tar` 命令和 `date` 命令来实现此功能。
按照年/月/日的格式打包:
```bash
tar -czvf etc_$(date +%Y-%m-%d).tar.gz /etc/
```
这个命令会将 `/etc/` 目录下所有文件打包成一个以当前日期命名的 tar.gz 文件,例如 `etc_2022-02-28.tar.gz`。
按照每月的固定某一天打包:
```bash
tar -czvf etc_$(date +%Y-%m)-01.tar.gz --newer-mtime $(date -d "$(date +%Y-%m-01) -1 day" +%s) /etc/
```
这个命令会将 `/etc/` 目录下所有在当前月的第一天之前修改过的文件打包成一个以当前月份和日期命名的 tar.gz 文件,例如 `etc_2022-02-01.tar.gz`。其中,`--newer-mtime` 参数用于指定只打包指定时间之后修改过的文件,这里使用了上个月的最后一天作为时间戳,以确保只打包本月修改过的文件。
相关问题
linux每月按固定某一天压缩打包文件letc按年/月/日/打包
你可以使用 `tar` 命令和 `date` 命令来实现此功能。
按照年/月/日的格式打包:
```bash
tar -czvf etc_$(date +%Y-%m-%d).tar.gz /etc/
```
这个命令会将 `/etc/` 目录下所有文件打包成一个以当前日期命名的 tar.gz 文件,例如 `etc_2022-02-28.tar.gz`。
按照每月的固定某一天打包:
```bash
tar -czvf etc_$(date +%Y-%m)-01.tar.gz --newer-mtime $(date -d "$(date +%Y-%m-01) -1 day" +%s) /etc/
```
这个命令会将 `/etc/` 目录下所有在当前月的第一天之前修改过的文件打包成一个以当前月份和日期命名的 tar.gz 文件,例如 `etc_2022-02-01.tar.gz`。其中,`--newer-mtime` 参数用于指定只打包指定时间之后修改过的文件,这里使用了上个月的最后一天作为时间戳,以确保只打包本月修改过的文件。