Jea*_*ote 1 bash shell mysqldump database-backups mysql-backup
我每天都在转储一个 mysql wordpress 数据库作为备份。因为我不想在一年后得到 365 个 .sql 文件,所以我认为只保留过去 30 天的转储文件是不错的。始终保留最后 30 个并自动删除旧的,每天一个。
我希望在 bash 中对此进行编程,作为 cron 工作的一部分。所以我已经有了转储并将文件发送到备份服务器的部分。我只需要添加计数并每天删除最旧的一个片段。
这是我得到的(用户名和 pswd 保存在 .my.cnf 文件中):
now=$(date +'%m-%d-%y')
mysqldump -h mysql.server.com my_database | gzip -9 > ${home}/dbBackups/db_backup.sql.gz
mv ${home}/dbBackups/db_backup.sql.gz ${home}/dbBackups/${now}_db_backup.sql.gz
scp ${home}/dbBackups/${now}_db_backup.sql.gz backup_user@backup.server.com:/home/backup_user/backup.server.com/dbBackups/
Run Code Online (Sandbox Code Playgroud)
有没有人知道如何实现这个功能?
打印超过 30 天的文件的标准命令是
find <full_path_to_your_dir> -type f -mtime +30 -print
Run Code Online (Sandbox Code Playgroud)
删除超过 30 天的文件的标准命令是
find <full_path_to_your_dir> -type f -mtime +30 -delete
Run Code Online (Sandbox Code Playgroud)
上述命令将删除所有超过 30 天的文件。
| 归档时间: |
|
| 查看次数: |
1481 次 |
| 最近记录: |