如何在python脚本中访问网络驱动器并在用户注销时自动运行它?

我有一个python脚本,需要每小时运行一次以将本地文件上传到共享驱动器,但是当我从远程 windows服务器注销时,该脚本不会运行(我有管理员是否可以访问网络驱动器和服务器),是否可以让它每小时自动运行一次而无需用户登录?

wangxd925 回答:如何在python脚本中访问网络驱动器并在用户注销时自动运行它?

这是针对Linux的解决方案:

您可以创建一个bash脚本来运行python文件,并创建一个cronjob来运行该bash脚本。

您的bash脚本如下所示:

#!/bin/sh
python location/of/your_script.py

另存为automate.sh并授予自动运行此脚本的权限:

sudo chmod +x location/of/your_script.py
sudo chmod +x location/of/your_bash_script.sh 

之后,我们必须创建cronjob,您可以使用此链接为您创建合适的cronjob。

https://crontab-generator.org/

我们需要在列表中添加该cronjob:

crontab -e

打开此cronjob编辑器时,请将cronjob放在底部并保存。它应该可以正常运行。

这是Windows Server的解决方案:

对于Windows,您需要创建一个.bat脚本来执行。

automate.bat脚本如下所示:

C:\your\python\executable\path\python.exe "C:/your/python/file/path/you/want/to/execute/your-python-script.py"
pause

使用GUI设置.bat文件的权限:

  1. 右键单击.bat文件
  2. 点击“属性”
  3. 点击顶部栏中的“安全性”
  4. 如果您的用户未授予“ FULL”权限,请确保其具有“ FULL”权限。

在Windows中使用控制台设置权限:

  1. 打开控制台
  2. 在控制台中输入以下代码

注意:确保在Windows中以“管理员”权限运行控制台。

icacls c:\your\bat\file\path\automate.bat /grant YourUser:F

此步骤之后,您需要创建“任务计划”条目。在Windows中,您可以使用“任务时间表”工具来自动执行任务。

创建任务时,请在“任务计划程序”中进入“任务计划库”,然后执行以下步骤:

  1. 右键单击您的任务
  2. 点击属性
  3. 在“常规”选项卡中,您应该能够看到“安全性”设置,请确保在此处指定了USER。
  4. 激活“是否已登录运行用户”选项
  5. 还要选中“配置为”选项
  6. 之后,进入顶部标签栏上的“操作”标签
  7. 点击以“编辑”
  8. 使用.bat文件的主文件夹位置编辑“开始于”选项。例如:c:\ your \ bat \ file \ path \

所有这些步骤之后,我能够在Windows虚拟机上运行脚本而没有任何问题。但是,环境差异可能会引起问题,请评论您的经验。

本文链接:https://www.f2er.com/2520582.html

大家都在问