我有一个bash脚本来备份数据库并将其发送到另一台服务器,在ssh(root)上运行脚本它正确地发送文件,但是当使用cPanel cron时,我收到了这个错误:
cd:致命错误:伪tty分配失败:没有这样的文件或目录
put:致命错误:伪tty分配失败:没有这样的文件或目录
在lftp更改为上传文件夹
时,似乎失败了的Cron
/bin/sh /home/test/backup/script.sh >> /home/test/backup/log.txt 2>&1
击
/bin/lftp sftp://user:pass@domain.com:22/uploads -e "put $FILE2; bye"
答案 0 :(得分:0)
我认为您的问题是:您使用ssh密钥通过SFTP登录(否则,每次尝试sftp时,通常都需要输入密码,这会使cron混乱)。可能你在用户root下保存了ssh密钥,但是当你执行cron时,它作为cpanel用户执行(除非你直接在root crontab中执行)。如果作为cpanel用户执行,并且该用户没有ssh密钥,则cron会挂起询问sftp密码。请确保以root身份用于SFTP的ssh私钥也会添加到执行cron的cpanel用户帐户中。它应该工作