Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bash 为什么我的shell脚本不能与cron一起工作?_Bash_Shell_Cron - Fatal编程技术网

Bash 为什么我的shell脚本不能与cron一起工作?

Bash 为什么我的shell脚本不能与cron一起工作?,bash,shell,cron,Bash,Shell,Cron,我有两个shell脚本 工作一 其他 没用的 Cron条目包括: $ crontab -l Filers config save script 0 0 * * * /mnt/config-backup/script_san.sh 0 0 * * * /mnt/config-backup/script_nas.sh 0 0 * * * /mnt/config-backup/delete_file 脚本_san.sh不工作。 输出就像 SAN备份目录 san_backup]# ls -lart a

我有两个shell脚本

工作一

其他

没用的

Cron条目包括:

$ crontab -l
Filers config save script
0 0 * * * /mnt/config-backup/script_san.sh
0 0 * * * /mnt/config-backup/script_nas.sh
0 0 * * * /mnt/config-backup/delete_file
脚本_san.sh不工作。 输出就像 SAN备份目录

san_backup]# ls -lart alln01-na-exch01a.cisco.com.auditlog*
-rw-r--r-- 1 root root 210083 Mar  1 22:24 alln01-na-exch01a.auditlog.0.20150301
[root@XXXXX san_backup]# pwd
/mnt/config-backup/san_backup
nas_backup]# ls -lart rcdn9-25f-filer43b.cisco.com.auditlog*
-rw-r--r-- 1 root root 278730 Feb 26 00:06 rcdn9-25f-filer43b.cisco.com.auditlog.0.20150226
-rw-r--r-- 1 root root 281612 Feb 27 00:17 rcdn9-25f-filer43b.cisco.com.auditlog.0.20150227
-rw-r--r-- 1 root root 284105 Feb 28 00:02 rcdn9-25f-filer43b.cisco.com.auditlog.0.20150228
-rw-r--r-- 1 root root 284101 Mar  1 00:02 rcdn9-25f-filer43b.cisco.com.auditlog.0.20150301
[root@XXXXXXX nas_backup]#
NAS备份目录

san_backup]# ls -lart alln01-na-exch01a.cisco.com.auditlog*
-rw-r--r-- 1 root root 210083 Mar  1 22:24 alln01-na-exch01a.auditlog.0.20150301
[root@XXXXX san_backup]# pwd
/mnt/config-backup/san_backup
nas_backup]# ls -lart rcdn9-25f-filer43b.cisco.com.auditlog*
-rw-r--r-- 1 root root 278730 Feb 26 00:06 rcdn9-25f-filer43b.cisco.com.auditlog.0.20150226
-rw-r--r-- 1 root root 281612 Feb 27 00:17 rcdn9-25f-filer43b.cisco.com.auditlog.0.20150227
-rw-r--r-- 1 root root 284105 Feb 28 00:02 rcdn9-25f-filer43b.cisco.com.auditlog.0.20150228
-rw-r--r-- 1 root root 284101 Mar  1 00:02 rcdn9-25f-filer43b.cisco.com.auditlog.0.20150301
[root@XXXXXXX nas_backup]#

从cron日志中,我可以看到cron正在执行这两个脚本,但是script_san.sh的输出没有出现

根据我的经验,大多数情况下,脚本是手动工作的,而不是从crontab工作的,这是因为登录脚本没有运行。尝试在脚本请求或cron文件的第一行中添加类似source~/.bash_profile的内容。是否尝试调试以使用at命令运行脚本?

在非工作脚本的第1行中添加-x参数,以查看是否会得到任何输出。例如/bin/bash-x并为ssh添加-v以进行调试。当您以与cron中相同的方式手动运行它时,它是否工作?请检查“调试crontab”部分,其中有一些解决反复出现的问题的方法。是的,当我手动运行它时,它工作正常并创建所有备份文件。但仅在计划时间手动工作。根据cron日志,脚本正在运行。