pba*_*auf 13 cron backup mysql database
我正在使用最新的 Linux Mint。我想知道是否可以为数据库备份创建一个特殊的 cronjob。
在我的/etc/cronjob
文件中,我有以下代码:
# Minute Hour Day of Month Month Day of Week Command
# (0-59) (0-23) (1-31) (1-12 or Jan-Dec) (0-6 or Sun-Sat)
30 4 * * 1-6 /home/users/backup.sh
Run Code Online (Sandbox Code Playgroud)
在我的/home/users/backup.sh
我有:
mysqldump -uroot -p MyDatabase > /home/users/backup_MyDB/full_myDB.sql
Run Code Online (Sandbox Code Playgroud)
而不是full_myDB.sql
我想要像2014-04-04_full_myDB.sql
根据我们拥有的日期动态添加日期的地方。
如果 SQL 备份文件早于一周,我希望 cronjob自动删除它。
Gra*_*eme 15
使用 GNU date
(Linux Mint 上的默认设置),您可以执行以下操作:
mysqldump -uroot -p MyDatabase >/home/users/backup_MyDB/$(date +%F)_full_myDB.sql
Run Code Online (Sandbox Code Playgroud)
要删除超过 1 周的文件:
find /home/users/backup_MyDB -type f -mtime +7 -exec rm {} +
Run Code Online (Sandbox Code Playgroud)
尽管通常在删除之前查看要删除的内容(至少在测试脚本时)是明智的,但这样做:
find /home/users/backup_MyDB -type f -mtime +7
Run Code Online (Sandbox Code Playgroud)