我有这个目录结构:
/var/sync/
├── sync_bi
├── sync_pfizer
└── sync_sandbox
我有一些由以下 cronjob 运行的文件:
10 */12 * * * find /var/sync/ -name 'Replicator.php' -execdir php {} \; ; find /var/sync/ -name 'sync.php' -execdir php {} \;
我问哪种是添加命令的正确方法cd /var/sync/sync_*
,git pull
例如以上面的目录为例,我应该:
cd /var/sync/sync_bi && git pull and after git pull ends then find /var/sync/ -name 'Replicator.php' -execdir php {} \; ; find /var/sync/ -name 'sync.php' -execdir php {} \;
cd /var/sync/sync_pfizer && git pull ... the same as line above
cd /var/sync/sync_sandbox && git pull ... the same as line above
有谁能帮助我实现这一目标吗?
答案1
您应该将所有命令放入 shell 脚本中,使其可执行并在 cronjob 中引用它。例如:
10 */12 * * * /home/myuser/scripts/myscript.sh
myscript.sh
包含所有命令的文件在哪里。
作为旁注:
运算&&
符的意思是,只有左侧的命令运行成功,右侧的命令才会被执行 ( exit 0
)