- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我有一个 shell 脚本,它又调用一个 python 脚本。但在 python 脚本运行之前,我正在设置环境变量,以便获得正确的 P4 配置。
shell: /home/ag/ump_prod/run.sh
python script: /home/ag/ump_prod/cron.py
Environment conf: /home/ag/ump_prod/env.conf
python 脚本通过 subprocess 模块执行命令行 P4 命令。这是 shell 脚本的代码
#!/bin/sh
. /home/ag/ump_prod/env.conf
python /home/ag/ump_prod/cron.py
环境配置文件
export SHELL=/bin/bash
export USER=ag
export MAIL=/var/mail/ag
export HOME=/home/ag
export LOGNAME=ag
export P4CONFIG=/home/ag/ump_prod/.perforce
perforce 配置/home/ag/ump_prod/.perforce :
P4CLIENT=ag_ump
P4EDITOR=/usr/bin/vim
P4PORT=rsh:ssh -2 -q -a -x -l p4server p4.****.com /bin/true
P4USER=ag
手动运行 shell 脚本可以毫无问题地执行它。但是,当我通过 cronjob 运行它时,它会提示无法连接到服务器。
错误信息:
['TCP receive failed.\n', 'read: socket stdio: Connection reset by peer\n', 'Perforce client error:\n', '\tTCP receive failed.\n', '\tread: socket stdio: Connection reset by peer\n']
请告诉我在为 P4 配置设置环境变量时哪里可能出错。提前致谢!
最佳答案
我找到了解决方案:我还需要为 cronjob 动态启动 ssh-agent。这就像您第一次登录并启动 ssh-agent 一样。我们也需要告诉 cronjob 包含 eval ssh-agent
关于python - 使用 P4 运行 crontab 作业,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47426699/
我在 CentO 上以 root 身份登录。 如果我这样做 crontab -e ,我有一个空文件。 如果我这样做 cat /etc/crontab ,我有一个包含命令的文件。 这怎么可能? 任何的想
我有以下 cron 作业命令: * * * * * /usr/bin/lynx -term=vt100 http://abc.com/dir1/di2/script.php?action=add&co
我最近要在crontab中执行docker-compose命令时遇到问题。 我有一个docker-compose YAML文件,该文件定义了我需要的所有服务,例如“docker-compose.yml
如果您有一个每 5 分钟运行一次的 crontab 作业,您如何确保它永远不会超限?也就是说,您如何确保 crontab 作业的前一次迭代在下一次运行之前完成? 最佳答案 在脚本的开头,在文件系统的某
关闭。这个问题不满足Stack Overflow guidelines .它目前不接受答案。 想改善这个问题吗?更新问题,使其成为 on-topic对于堆栈溢出。 7年前关闭。 Improve thi
或许还有另一种解决方案。我构建了一个网络应用程序,需要 5-10 个 cron 来保持它的维护和不同的间隔。我想将 crontab checkin 版本控制,以便轻松部署到其他服务器。 我希望能够在/
我有一个带两个参数的命令。 当我手动运行命令时,我是这样做的: cmd -i xyz.dat hit enter enter password in the prompt hit enter conf
我在树莓派上,使用 rasbpian ! 我正在尝试安装一个新的 crontab 来执行基本脚本。这将使用 vlc 从网络摄像头拍摄一张照片。 我想每分钟都这样做,但我无法编辑我的 crontab 用
我想通过在我的服务器中执行此操作来添加一个 crontab 计划: echo "30 * * * */home/my/var/dir/to/script/var/etc/etc/etc/"> cron
将文本通过管道传输到 crontab 与 crontab 之间有什么区别 - (我认为确认它使用标准输入)? 在我的 Linux 机器上,执行 cat "1 0 0 0 0 something" |
我有一个 crontab 设置为 execute the 0th minute of every 3rd hour every day crontab 的语法是: 0 */3 * * * perl t
我使用 GENTOO 发行版。 crontab -e 35 12 * * * root php5 /home/www/cron.php 当我手动运行时: php5 php5 /home/
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 我们不允许在 Stack Overflow 上提出有关通用计算硬件和软件的问题。您可以编辑问题,使其成为
假设我有一个 crontab,它每 20 运行一次分钟,我有一个可以变化的小时范围,所以让我们说 a-b ,在一个例子中可能看起来像 */20 5-23 * * * /usr/bin/cool_pro
我在 Win7 中使用的是 cygwin 版本 2.3.1(0.291/5/3),并且已经尝试了几个小时让我的 crontab 计划作业运行。在我看来,可能成为问题的是我的 cron 进程和我的 cr
我想知道如果我将 crontab 添加到 /etc/crontab 或 crontab -e 是否重要? 我有一个 Ubuntu 17 和 Debian 9 VM 正在运行,我不知道哪个是正确的地方。
我尝试了以下命令,crontab 停止运行任何作业:echo "@reboot/bin/echo 'test' >/home/user/test.sh"|定时任务- 在 Linux 中将作业添加到 c
我想寻求有关 python-crontab 模块的帮助。我有一个简单的 shell 脚本,可以使用 curl 命令录制互联网广播流。我想通过在 crontab 中安排录制来提前安排录制。我找到了允许我
我将在这里扩展我的问题: 当包括 root 在内的每个用户都有自己的 crontab 时,系统 crontab 的需求是什么?系统 crontab 的存在似乎重复了功能。系统 crontab 是否更像
我想在我的 Capistrano 部署文件中包含 cron 任务,而不是使用以下命令手动编辑 crontab 文件: crontab -e [username] 是否有我可以在 Capistrano
我是一名优秀的程序员,十分优秀!