Bash AutoStart 脚本不从共享文件夹复制文件

Bash AutoStart 脚本不从共享文件夹复制文件

我已将启动 bash 脚本添加到运行 Raspbian (Debian GNU/Linux 11 (bullseye)) 的设备。

这是我的脚本:

SysmacApp.sh

#!/bin/bash

mkdir -p /home/pi/App;
mkdir -p /home/pi/Shared/Service;
mkdir -p /home/pi/Shared/Service/Data;
mkdir -p /home/pi/Shared/Sysmac;

sudo mount -t cifs //10.10.0.1/SysmacApp /home/pi/App -o username=*****,password=*****
cp /home/pi/App/Service/* /home/pi/Shared/Service -r
cp /home/pi/App/Sysmac/* /home/pi/Shared/Sysmac -r
cp /home/pi/App/Shared/* /home/pi/Shared  
sudo umount /home/pi/App

cd /home/pi/Shared/Service
dotnet ./SysmacService.dll &
sleep 2
cd /home/pi/Shared/Sysmac
dotnet ./SysmacUI.Skia.Gtk.dll &

所以基本上:

  • 如果不存在,则创建一些目录。
  • 从共享文件夹复制两个应用程序。
  • 执行这两个应用程序。

执行脚本是因为应用程序在设备启动时运行,但不会复制信息,除非我在终端中手动执行此脚本

为了运行脚本,我在/etc/xdg/autostart文件夹中添加了一个条目:

SysmacApp.desktop

[Desktop Entry]
Name=SysmacApp
Comment=Starts sysmac application
Exec=/home/pi/Shared/SysmacApp.sh
Terminal=true
Type=Application
Categories=Utility;Application;

如果我远程重新启动设备,应用程序将被执行,但不会从共享文件夹中复制。

我究竟做错了什么?

如果从终端窗口执行该脚本,则该脚本可以工作。

我在日志文件中得到了这个:

Sep 15 14:21:07 raspberrypi kernel: [   14.997131] FS-Cache: Netfs 'cifs' registered for caching
Sep 15 14:21:07 raspberrypi kernel: [   15.008071] Key type cifs.spnego registered
Sep 15 14:21:07 raspberrypi kernel: [   15.008110] Key type cifs.idmap registered
Sep 15 14:21:07 raspberrypi kernel: [   15.010226] CIFS: No dialect specified on mount. Default has changed to a more secure dialect, SMB2.1 or later (e.g. SMB3>Sep 15 14:21:07 raspberrypi kernel: [   15.010253] CIFS: Attempting to mount \\10.10.0.1\SysmacApp
Sep 15 14:21:07 raspberrypi kernel: [   15.010426] CIFS: VFS: Error connecting to socket. Aborting operation.
Sep 15 14:21:07 raspberrypi kernel: [   15.010452] CIFS: VFS: cifs_mount failed w/return code = -101

日志显示 eth0 路由是在尝试挂载卷后添加的,因此我已添加-o _netdev到挂载命令但没有成功。

相关内容