如何在crontab中执行bash脚本?

问题描述 投票:0回答:1

我正在尝试将 2 个 csv 文件从一个 Pi 发送到另一个 Pi。

我有一个 shell 脚本可以执行此操作,并且在终端中执行时工作得非常好。但是当我在 crontab 中运行脚本时,它不起作用。

我在终端中输入要运行的内容:

bash fileTX.sh

这可以完美地传输到另一个 Pi!!

用于传输文件的 bash 脚本:

#!/bin/bash

password="mypassword"
username="myusername"

ip="111.11.11.11"

while :
do
   sshpass -p "$password" scp /home/pi/csv1.csv $username@$ip:/home/pi/Desktop
   sshpass -p "$password" scp /home/pi/csv2.csv $username@$ip:/home/pi/Desktop
   echo "Files Transmitted!!"
   sleep 30
done

再次,在终端中这有效!在 crontab 中它不起作用

在 crontab 中:

@reboot /home/pi/fileTX.sh &

请问有人看到问题出在哪里吗?!

我试过了 使 shell 脚本成为可执行文件,给出所有内容的完整路径,在 crontab 中尝试了一堆前缀变体,例如脚本路径之前的“sh”和“bash”以及“/bin/bash”

cron raspberry-pi sh scp cron-task
1个回答
0
投票

您可以尝试将 cron 条目更改为

@reboot /bin/bash /home/pi/fileTX.sh &

只是为了确保您使用的是 bash 来执行。

© www.soinside.com 2019 - 2024. All rights reserved.