davfs2 对文件进行不需要的缓存时存在问题。在另一个分区上创建一个大型备份 .tar.gz 文件 (4052 Mb) 并上传。在此过程中,会创建其副本/var/cache/davfs2/
,并导致主分区上不必要的磁盘空间占用。
与缓存相关的选项被禁用/etc/davfs2/davfs2.conf
并被 davfs2 接受,但没有任何积极效果:
cache_size 0
delay_upload 0
这是系统日志的相关部分:
Mar 27 03:00:01 ubuntu mount.davfs: davfs2 1.4.7
Mar 27 03:00:01 ubuntu mount.davfs: /sbin/mount.davfs <...> -o rw
<...>
Mar 27 03:12:16 ubuntu mount.davfs: open files exceed max cache size by 4052 MiBytes
如何完全禁用缓存行为,从而不浪费任何空间用于 davfs2 缓存?
答案1
我发现已安装的 DAVFS2 共享无法与我的存储提供商一起使用,无法与许多/大文件结合使用。因此,我使用简单的curl 包装器命令将文件流式传输到远程服务器。不需要 tmp 文件!
echo "Creating folder: $(curl -sK /etc/davfs2/curl -X MKCOL $backup_url/$tag)"
echo "Uploading zipped files: $($tarcmd | curl -T- -sK /etc/davfs2/curl $backup_url/$tag/$today.tar.xz)"
echo "Uploading zipped SQL dump: $(mysqldump db_$tag | xz | curl -T- -sK /etc/davfs2/curl $backup_url/$tag/$today.sql.xz)"
我的/etc/davfs2/curl
包含--user <USER>:<PASS>