加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

bash – Shell脚本和CRON问题

发布时间:2020-12-16 01:45:42 所属栏目:安全 来源:网络整理
导读:我为我们的本地开发服务器编写了一个备份脚本(运行Ubuntu服务器版本9.10),这只是一个简单的tar和脚本脚本. gzip本地根并将其粘贴在备份文件夹中. 我运行时工作正常: $bash backups.sh 但是当我通过crontab运行它时它不会工作. 59 23 * * * bash /home/vnc/b
我为我们的本地开发服务器编写了一个备份脚本(运行Ubuntu服务器版本9.10),这只是一个简单的tar和脚本脚本. gzip本地根并将其粘贴在备份文件夹中.
我运行时工作正常:

$bash backups.sh

但是当我通过crontab运行它时它不会工作.

59 23 *  *  *  bash /home/vnc/backups/backup.sh >> /home/vnc/backups/backup.log 2> $1

我收到错误消息

/bin/sh: cannot create : nonexistent

该脚本在其运行的文件夹(/ home / user1)中生成tar.gz,但后来尝试将其从网络驱动器复制到已安装的共享(/ home / backups,实际上是192.168.0.6/backups),通过使用fstab.
已安装的共享具有权限777,但所有者和组与运行该脚本的用户和组不同.
我正在使用bash来运行脚本而不是sh以解决我过去曾遇到过的“错误替换”错误的另一个问题

该文件的前两行是

! /bin/bash

cd /home/vnc/backups

我可能还没有提供足够的信息来完整回答这篇文章,但我可以根据需要发布更多信息,但我真的不知道接下来要去哪里看.

解决方法

线索在错误消息中:

/bin/sh: cannot create : nonexistent

注意它说“sh”. Bourne shell不支持某些特定于Bash的功能.如果您正在使用Bash功能,那么您需要告诉Bash运行该脚本.

制作文件的第一行:

#!/bin/bash

或者在你的crontab条目中执行以下操作:

* * * * * /bin/bash scriptname

如果没有看到你的crontab条目和你的脚本,就很难更具体了.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读