如何在 crontab 上使用 env .bashrc 变量?

2024-04-26

我需要发送个人信息env多变的$FTP111_PASSWD以我个人定义.bashrc to crontab执行。如何在 crontab 上设置环境变量?

我原来的 shell 脚本,名为cron4_etc.sh,创建于crontab执行是:

#!/bin/bash

cd /myFolder/
ftp -n -i <<EOF
open 101.111.111.111
user myUser "$FTP111_PASSWD"
mget check_*.log
bye
EOF

如果我通过终端执行脚本./cron4_etc.sh它执行得很好,但是如果我使用以下命令启动它crontab line

  */20 *     *   *   *     /home/myUser/cron4_etc.sh > /tmp/cron4.log 2>&1

crontab 说

密码: 登录不正确。\n登录失败。

我尝试使用改进我的脚本这个建议 https://stackoverflow.com/a/58725211/287948,但错误仍然存​​在:

#!/usr/bin/env bash

# set environment
source /home/myUser/.bashrc

cd /tmp/pg_io/PGW
ftp -n -i <<EOF
open 101.111.111.111
user myUser "$FTP111_PASSWD"
mget check_*.log
bye
EOF

PS:我使用的是 Ubuntu 18 LTS,但问题是针对通用 crontab 的。


我最喜欢的解决方案来自奥古斯托·德斯特罗 https://stackoverflow.com/users/2393703/augusto-destrero,谁提供了以下内容answer https://stackoverflow.com/a/34492957/8330162一个非常相似的问题:

设置变量/etc/environment也在 Ubuntu 中为我工作。从 12.04 开始,为 cron 加载 /etc/environment 中的变量。

有些人建议做一个简单的env >> /etc/environment附加所有环境变量,但我会小心谨慎并进行审查/etc/environment手动。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 crontab 上使用 env .bashrc 变量? 的相关文章

  • 如何从 NodeJS 中的文件设置 process.env ?

    我是 Node JS 的新手 我发现很少有文章说我们可以使用 env 文件来设置 process env 变量 例如 PORT 8081 但是当我在我的节点中运行程序时 它仍然是8080端口 默认情况下 问题是如何在没有任何其他第 3 方模
  • 在sudoers中分别设置环境变量SSH_ASKPASS或askpass

    我正在尝试登录 ssh 服务器并执行以下操作 ssh email protected cdn cgi l email protection sudo echo foobar 不幸的是我收到一个错误 sudo no tty present a
  • 在 google app engine python 中设置 cron 作业

    我刚刚开始使用 Google App Engine 所以我仍在学习如何配置所有内容 我编写了一个名为 parsexml py 的脚本 我希望每 10 分钟左右运行一次 该文件位于我的主目录中 与 main py app yaml 等一起 据
  • 运行 Jest 时 NextJS 中未定义环境变量

    我设置了一个简单的 NextJS 项目 但在让 Jest 识别我的环境变量时遇到问题 我已按照以下说明进行操作https nextjs org docs basic features environment variables test e
  • 我可以从源代码访问 Bitbucket Pipelines 环境变量吗?

    我将敏感数据作为 Bitbucket Pipelines 中的环境变量 例如数据库凭据 有没有办法从我的源代码访问这些环境变量 我不想将这些敏感数据推送到我的存储库 Bitbucket 管道环境变量 https confluence atl
  • 使用 tkinter 时在 Google Colab 中设置 $DISPLAY 环境变量 [重复]

    这个问题在这里已经有答案了 我有一个简单的 python 脚本 它使用 tkinter 库来创建简单的表单 这个脚本在 jupyer 笔记本和本地计算机上完美运行 但是当我想在 google colab 中运行时 它会抛出以下问题 usr
  • 如何在AWS EC2服务器中编写cron作业

    我在 AWS EC2 中创建了一个 cron 作业 但它不起作用 我按照以下步骤创建 crontab 第1步 我登录到AWS EC2实例 step 2 crontab e 第三步 插入模式 第4步 我输入了 php var www html
  • shell脚本不通过crontab运行,手动运行正常

    我尝试导出我的路径和变量 但 crontab 仍然不会运行我的脚本 我确信我做错了什么 我有一个运行 jar 文件的 shell 脚本 这无法正常工作 阅读周围后 我发现这通常是由于 cron 通过其自己的 shell 实例运行而导致路径不
  • 每月第二个星期一的 Cron 表达式(对于 Hangfire)

    我正在尝试在 Hangfire 中创建定期作业 每月第二个星期一运行一次 如下所示 1 Monday May 14 2018 8 00 AM 2 Monday June 11 2018 8 0 AM 3 Monday July 9 2018
  • 防止 GNU make 在环境变量中扩展美元符号

    有没有办法让 GNU Make 在环境变量中按字面意思解释美元符号 获取这个 makefile echoFOO echo FOO 像这样运行它 FOO a bc make echo ac ac 我希望它能从字面上回应 a bc 但我找不到一
  • Twitter API 速率限制

    我想从 Twitter 收集几周内的数据 为此 我使用 RStudio Server 和 crontab 自动运行多个脚本 如下所示 require ROAuth require twitteR require plyr load twit
  • 在 VsCode 中更新笔记本上的环境变量

    我正在使用 VsCode 上的笔记本和 env 文件开发一个 Python 项目 我在尝试刷新笔记本中的环境变量时遇到问题 我找到了一种方法 但非常棘手 我的项目 env 文件包含 MY VAR HELLO ALICE 包含一个单元格的 t
  • crontab 作业的 STDOUT 和 STDERR 输出在哪里

    有谁知道 CentOS 中正常 crontab 作业输出的 STDOUT 和 STDERR 在哪里 我检查了 var log cron文件 但它只记录了 cron 作业执行的时间和命令 没有找到 STDOUT 或 STDERR 内容 看看
  • 气流:Dag 每隔几秒安排两次

    我尝试每天仅运行一次 DAG00 15 00 午夜 15 分钟 然而 它被安排了两次 间隔几秒钟 dag DAG my dag default args default args start date airflow utils dates
  • cron 作业和 PHP (Zend Framework) 入门

    我对 cron 作业这个主题完全陌生 所以我不知道从哪里开始学习它们 何时 为何或如何将它们与我的 Zend Framework 应用程序或一般的 PHP 一起使用 任何人都可以通过示例解释该过程 或者推荐一些好的资源来入门吗 Cron 作
  • 如何从 Next.js 应用程序访问 Kubernetes 容器环境变量?

    在我的 next config js 中 我有一个如下所示的部分 module exports serverRuntimeConfig Will only be available on the server side mySecret s
  • 什么是克朗?我该如何使用这个? [关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions http
  • 从命令输出中设置 GDB 中的环境变量

    我试图在挑战中利用缓冲区溢出 缓冲区从环境变量中获取其值 在 GDB 中 我知道您可以使用以下命令设置环境变量 set environment username test 但是我需要传递用户名变量特殊字符 所以我需要执行以下操作 set e
  • Kubernetes Pod 动态环境变量

    我需要能够将自定义环境变量分配给 Pod 的每个副本 一个变量应该是一些随机的 uuid 另一个唯一的数字 怎么可能实现呢 我更愿意继续使用带有副本的 部署 如果这不是开箱即用的 如何通过自定义复制控制器 控制器管理器来实现 有没有可用的钩
  • 如何在 Windows 上为“flask run”设置环境变量?

    我刚刚开始学习 Flask 我一直停留在设置 Flask 环境变量上 我不知道如何设置环境变量 每当我使用flask run命令 我遇到以下错误 错误消息 无法找到 Flask 应用程序 您没有提供 FLASK APP 环境变量 并且在当前

随机推荐