crontab-在 Samba 文件夹上备份

crontab-在 Samba 文件夹上备份

我正在尝试在笔记本电脑上创建一个 crontab,以便每天晚上 21 点备份我的脚本文件夹。

这是我所做的:

我的 crontab 行:

00 21 * * * /bin/tar -cvpzf /run/user/1000/gvfs/smb-share\:server\=192.168.1.56\,share\=share/LUCA/backups/scripts.tgz /home/luca/Scripts/

目录链接没有问题,因为命令:

cd /run/user/1000/gvfs/smb-share:server=192.168.1.56,share=share/LUCA/backups

工作良好。

该文件夹保留在我的 ubuntu 服务器上,我使用 samba 共享它。也许是权限问题?我有点困惑。

当我查看服务器上的权限时,输出是: drwxr-xrwx 6 root root 4096 Sep 27 22:21 LUCA

但是当我在客户端(我的笔记本电脑)启动相同的命令时,我得到了这个:

drwx------ 1 luca luca 0 Sep 27 22:21 LUCA

有什么想法吗?提前谢谢

答案1

我强烈建议您使用一个小脚本来进行备份。/run 位置不是系统最常用的位置,不能被视为真正的路径位置。以下是备份脚本的示例:

#!/bin/bash
TMP=$(mktemp -d)
mount -t cifs //192.168.1.56/share/LUCA/backups/ "$TMP" -o username=samba_login,password=samba_password
tar cpzvf "$TMP"/scripts.tgz /home/luca/Scripts/
umount "$TMP"
rmdir $TMP

将此内容粘贴到示例文件中/usr/local/bin/my_backup,并使用 添加执行权限chmod +x /usr/local/bin/my_backup

最后通过 example 创建一个 crontab 文件/etc/cron.d/my_backup并粘贴以下内容。

00 21 * * *   root    /usr/local/bin/my_backup

您可能需要安装名为 cifs 的额外工具sudo apt install cifs-utils

相关内容