2012-02-03 1 views
3

Я хочу использовать chmod через capistrano, чтобы добавить разрешение на папку. Например, я хочу это сделать:Rails - capistrano и chmod

chmod 777 -R /vol/www/apps/ror_tutorial/current/log/ 

Итак, я хочу сделать это с помощью задачи capistrano. Я пробовал:

desc "Fix permission" 
    task :fix_permissions, :roles => [ :app, :db, :web ] do 
    run "#{try_sudo} chmod 777 -R #{current_path}/log" 
    end 

    after "deploy:update_code", :fix_permissions 

Но это не работает. Права доступа к папке одинаковы:

$ ls -alh /vol/www/apps/ror_tutorial/current/log/ 
total 1008K 
drwxrwxrwx 2 root root 4.0K 2012-02-03 20:22 . 
drwxrwxr-x 7 root root 4.0K 2012-01-25 20:50 .. 
-rwxrwxrwx 1 root root 419K 2012-02-03 14:35 development.log 
-rwxrwxrwx 1 root root 530K 2012-02-03 20:16 production.log 
-rwxrwxrwx 1 root root 0 2012-02-02 14:21 searchd.development.pid 
-rwxrwxrwx 1 root root 15K 2012-02-03 20:22 searchd.log 
-rw------- 1 root root 6 2012-02-03 20:22 searchd.production.pid 
-rwxrwxrwx 1 root root 19K 2012-02-03 18:07 searchd.query.log 

Если я пытаюсь напечатать CHMOD вручную через SSH работает:

$ chmod 777 -R /vol/www/apps/ror_tutorial/current/log/ 
$ ls -alh /vol/www/apps/ror_tutorial/current/log/ 
total 1008K 
drwxrwxrwx 2 root root 4.0K 2012-02-03 20:22 . 
drwxrwxr-x 7 root root 4.0K 2012-01-25 20:50 .. 
-rwxrwxrwx 1 root root 419K 2012-02-03 14:35 development.log 
-rwxrwxrwx 1 root root 530K 2012-02-03 20:16 production.log 
-rwxrwxrwx 1 root root 0 2012-02-02 14:21 searchd.development.pid 
-rwxrwxrwx 1 root root 15K 2012-02-03 20:22 searchd.log 
-rwxrwxrwx 1 root root 6 2012-02-03 20:22 searchd.production.pid 
-rwxrwxrwx 1 root root 19K 2012-02-03 18:07 searchd.query.log 

Как я могу написать правильное задание для Capistrano, чтобы сделать это?

ответ

6

Попробуйте изменить привязку после развертывания: symlink, я думаю, что вы обновляете разрешения в «предыдущем» текущем каталоге. На стороне примечание: deploy: symlink скоро изменится для развертывания: create_symlink, помните об этом, если это произойдет после обновления capistrano до 2.10 или выше.

+1

Awesome !!! Спасибо!! – ExiRe