我想用来rsync
从我的网络服务器备份数据库。
我在网络服务器上创建了一个 cronjob,它创建了一个mysqldump
数据库,并在每晚开始时用当前日期命名它。超过 30 天的文件将被删除。
现在我只想通过 cronjob 将当前日期的数据库文件备份到我的 NAS。
我怎样才能只包含那个文件?反之亦然,我如何排除除该文件之外的所有内容?
我的代码rsync
如下:
rsync -avz -h -c --include="*$(date +%Y-%m-%d)*" -e "ssh -p $PORT" $USER@$SERVER:$SQL_SOURCE $SQL_TARGET --delete
今天在网络服务器上的文件名将是2021-06-30_databasename.sql
但所有其他文件也会2021-06-29_databasename.sql
同步。
而不是同步路径(然后定义文件名包含/排除模式)只需将 rsync 指向要复制的单个文件名......
请注意,这不会对旧文件进行任何清理,
/dest/
一年后那里将有 366 个文件