wget -O覆盖文件的教训
最近做了个自动备份线上服务器日志文件下载到本地做备份的功能,思路很简单:定时把日志文件zip -o 备份文件名.zip并且移动到可以下载的目录清掉日志,然后本地环境定时wget -O 备份文件.zip,然后通知线上服务器删除备份文件。
然后就悲剧了,因为事先不知道wget -O在远程文件不存在下载失败的情况下仍然会覆盖文件,第一次下载成功后通知线上删除了文件,然后手动测试第二次的时候由于线上文件找不到了直接下载失败,空文件覆盖了上次下载好的文件。这样一来要备份的文件线上和线下都没有了连个渣都不剩。。。。
后来才知道wget 应该加-N参数,下载前先比对线上和线下文件,如果线上文件没有修改或者不存在才不至于把之前下载好的文件覆盖为空。
谨记教训!
更多>>