linux 一年中奇数月的1号凌晨一点05分使用tar命令打包并压缩tmp目录文件
时间: 2024-12-19 07:21:35 浏览: 8
在Linux系统中,如果你想在每年奇数月份的第一天凌晨1点05分使用`tar`命令来打包并压缩`tmp`目录下的文件,你可以编写一个简单的定时任务脚本,如bash shell script,结合`cron`服务来实现这一需求。
首先,你需要创建一个shell脚本,比如叫它`backup.sh`:
```bash
#!/bin/bash
# 确保当前日期是奇数月的1日
if [[ $(date +%m) -eq 1 && $(date +%y | awk '{print $1 % 2}') -eq 1 ]]; then
# 指定时间(凌晨1点05分)
time=$(TZ=UTC date +'%H:%M')
# 使用tar命令压缩tmp目录
tar czf /path/to/your/backups/tmp_$(date +%Y%m%d%H%M).tar.gz /tmp/
echo "Backup completed at ${time}"
else
echo "No backup today as it's not an odd-month day."
fi
```
这里假设`/path/to/your/backups`是你想要存放备份文件的目录。将这个脚本保存后,需要赋予执行权限:
```sh
chmod +x backup.sh
```
接下来,你需要配置`cron`服务来定期运行这个脚本。编辑crontab文件(通常位于`~/.crontab`):
```sh
crontab -e
```
添加下面这行到crontab文件中,指定每个月奇数日的凌晨1点05分执行`backup.sh`:
```plaintext
0 1 * * ( (( $(date +\%d) % 2 ) - 1 )) backup.sh
```
然后保存并关闭文件。现在,`tar`备份将在每年奇数月份的第一个凌晨1点05分自动执行。
阅读全文