2017-01-14 83 views
0

我正在尝试创建一个cron作业,它在早上每隔6:00创建一个新文件,并给他一个完整的644权限(写入&),然后将其复制到另一个位置。如何创建多任务cron作业?

我是否需要创建2个不同的cron作业?一个用于创建和一个用于复制?现在我做了文案的一部分(我手动创建的文件):

*/2 * * * * cp -rf /var/www/html/emaillist.txt /home/uview/emaillistforwatch/ 
+0

我想你可以在1个脚本中合并这两个操作,只是告诉脚本先将旧文件复制到新目录,然后让它创建/覆盖旧的目录,但请在运行创建操作之前先验证复制操作 – rachmatsasongko

+0

您可以将创建和复制命令添加到bash脚本中,并将其用作从crontab运行的命令 –

回答

1

我认为你可以使用选项“& &”,因为选项,可以在运行的cronjob多任务。

例:

*/2 * * * * mkdir /var/www/html/test && cp -rf /var/www/html/emaillist.txt /var/www/html/test 

,或者可以创建文件脚本和scirpt添加多任务处理。在cron中添加文件scritp后,运行就可以了。

例: 文件test.sh:

#!/bin/bash 
 
dir=$(pwd) 
 
mkdir test 
 
cp test.txt test 
 
echo "done"

在cron:

*/2 * * * * bash test.sh 
+0

什么是更好或更有效的方法?添加&&或编写专门用于此目的的新脚本? –

+0

只有少数使用'&&'的小型服务。但在许多情况下,您想要执行多个任务和服务,您应该创建一个bash(脚本.sh)文件来执行这些任务。 – Tannetto

0

你也可以同时使用脚本和 '& &'

了 '& &' 强制将被后(仅后)的第一个命令全面实施

例如运行第二个命令:

touch script.sh 
chown a+x script.sh 
vim script.sh 
    #!/bin/bash 
    touch /YOUR_FILE_ADDRESS/file.txt && chown 644 /YOUR_FILE_ADDRESS/file.txt && cp /YOUR_FILE_ADDRESS/file.txt /DESTINATION_ADDRESS echo "`date` done" >> result.log 

和配置的crontab:

crontab -e 
    0 6 * * *   /SCRIPT_ADDRESS/script.sh