当前位置:  开发笔记 > 编程语言 > 正文

如果不存在,则为Rsync创建一个日志文件

如何解决《如果不存在,则为Rsync创建一个日志文件》经验,为你挑选了1个好方法。

我正在编写一个简单的bash脚本,其中bash脚本会将我的实时服务器与登台服务器同步。我正在使用rsync来做到这一点。

我需要的是脚本执行每一天的日志文件。我正在使用以下命令

rsync -azP --stats source-directory user@host.com:destination-directory --log-file=~/public_html/rsynclogs/rsync-backup-log-`date +"%Y-%m-%d"`.log

该命令给我的错误是

rsync: failed to open log-file ~/public_html/rsynclogs/rsync-backup-log-2017-01-11.log: No such file or directory (2)
Ignoring "log file" setting.

因此,很可能它正在寻找现有的日志文件,但是如果它不存在,我希望创建它。请为我如何实现这一建议。



1> Fahad Sohail..:

好吧,在得到最冷静的回答(在下面回答)的良好指导之后,我能够解决此问题。实际的问题是,如果--log-filersync日志文件一起使用并提供一个不存在的目录,它将给您一个错误,指出该日志文件不存在。

但是,如果提供的目录存在,则会在提供的目录中自动创建日志文件。这是我正在使用的更新语法

mkdir -p -v $HOME/public_html/rsynclogs/
rsync -azP --stats source-directory user@host.com:destination-directory --log-file=$HOME/public_html/rsynclogs/rsync-backup-log-$(date +"%Y-%m-%d").log

现在,mkdir创建一个目录。正如@janek所建议的那样,我添加了-p只是为了检查目录是否存在,并仅在目录不存在时创建。

语法的其他更新:

替换~$HOME。由@ l'L'l建议

替换backticks(``)$( ... )。由@ l'L'l建议

推荐阅读
云聪京初瑞子_617
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有