我正在尝试在笔记本电脑上创建一个 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
。