繁体   English   中英

云服务器centos上的cpanel shell脚本无此文件或目录

[英]cpanel shell script on cloud server centos no such file or dir

我有一个shell脚本copy_files.sh,我每天使用cron作业调用一次。

但是它从来没有奏效,我一直没有得到这样的文件或目录。

!#/bin/sh
for f in /home/site1/public_html/admin/data/*.csv
do 
  cp -v "$f" /home/site2/app/cron_jobs/data/"${f%.csv}".csv
done

我已经通过ssh检查了所有路径都是正确的,我已经使用ls -l /bin/sh了/ bin / sh的路径,我已经将perms以及user和group设置为root for copy_files.sh我已经禁用了php open_basedir保护。

Shell脚本位于/ home / site2 /

任何想法为什么我仍然没有得到这样的文件或目录? 无论如何,是否有必要检查open_basedir的保护,说考虑到脚本是由root拥有的,除非它是作为site2用户而不是root用户执行的,否则我认为这不是问题吗?

由于使用Shell扩展的方式,for循环中的变量包含文件的绝对路径。 具有绝对路径,这意味着无需使用字符串操作(%),也无需在文件名中添加“ .csv”,只需将其全部删除并提供要复制到的目录即可cp的第二个参数,请参见下面的示例。

#!/bin/sh for f in /home/site1/public_html/admin/data/*.csv; do cp -v "$f" /home/site2/app/cron_jobs/data done

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM