amh备份到七牛云,怎么设置了备份时间,到时间后 不会删除之前的备份啊?-灵析社区

北北che

如图,这个难道不能删除七牛云上传的备份文件吗? ![image.png](https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241118/1dc793d69f65c46545b120e42738959d.png) 如果能,那是我那里没设置对? * * * 按照提示 运行了 日志如下 ## [amdata-2.8 cron_del] [OK] amdata-2.8 is already installed. [OK] amdata-2.8 is already installed. ls: cannot access '*.amh': No such file or directory 七牛云备份的文件名 zybox-20231115-020002.tar.gz.amh

阅读量:19

点赞量:0

问AI
这设置是对的啊,正常应该会删除7天之前的备份的文件,只只留7天之内的。 如果不能正常删除,手动在ssh执行命令, amh amdata cron_del 7 day 看返回哪些信息,任务计划也给这个命令开启记录,也排查任务计划是否是正常运行的。
,
AMH(AMH管理系统)备份到七牛云并设置备份时间以及保留策略通常需要以下几个步骤: 1. 设置备份任务:首先,你需要设置一个定时任务(cron job),用于定时执行备份脚本。 2. 编写备份脚本:备份脚本应该包含将数据备份到七牛云的逻辑。 3. 设置备份文件的命名规则:确保备份文件的命名包含时间戳,这样可以根据文件名来识别和删除旧备份。 4. 设置删除旧备份的任务:你需要另外设置一个定时任务来删除超出保留期限的备份文件。 根据你提供的日志信息,似乎在尝试删除旧备份时遇到了问题,提示“cannot access '*.amh': No such file or directory”,这意味着脚本尝试删除不存在的文件。 以下是如何设置备份时间以及保留策略的一般步骤: 步骤1:设置备份任务 编辑"crontab"文件来设置定时备份任务: bash crontab -e 添加一行类似于以下内容,每天凌晨2点执行备份: bash 0 2 * * * /path/to/your/backup/script.sh 步骤2:编写备份脚本 确保你的备份脚本正确地将文件上传到七牛云,并且文件名包含时间戳。 步骤3:设置删除旧备份的任务 同样地,在"crontab"中设置一个任务来删除旧备份: bash 0 3 * * * /path/to/your/cleanup/script.sh 这个脚本会每天凌晨3点运行,假设你有以下"cleanup/script.sh"内容: bash #!/bin/bash 设置保留天数 retain_days=7 设置备份文件所在的目录 backup_dir="/path/to/your/backup/directory" 设置七牛云存储的bucket名称 bucket_name="your-bucket-name" 计算出删除阈值时间(当前时间之前,retain_days天的时间) delete_before=$(date -d "-${retain_days} days" +%Y%m%d) 登录七牛云并删除旧备份 注意:这里需要使用七牛云的qshell工具,并且配置好账户信息 qshell ls $bucket_name | grep '.amh' | while read -r line; do file_date=$(echo $line | cut -d '-' -f2 | cut -d '.' -f1) if [[ $file_date < $delete_before ]]; then qshell rm $bucket_name/$line fi done 确保"cleanup/script.sh"有执行权限: bash chmod +x /path/to/your/cleanup/script.sh 这个脚本会删除在七牛云上早于7天的备份文件。请根据实际情况调整"retain_days"和"bucket_name"等变量。 请注意,你需要使用七牛云的qshell工具来进行操作,并且确保你的账户信息已经配置在qshell中。 最后,确保你的脚本路径和参数都是正确的,并且脚本能够正确执行。如果有任何错误,请检查脚本的语法和逻辑,并根据错误信息进行调试。