Создание исполняемого файла для дублирования папки и установка владельцев
Я не эксперт по веб-серверам, поэтому мне нужна небольшая помощь по следующему вопросу. Я действительно не мог найти ответ через Google, вероятно, потому что я использую неправильные ключевые слова.
Я хотел бы знать, возможно ли создать файл где-нибудь на сервере, который я мог бы использовать / call для выполнения нескольких команд и который я могу "кормить" некоторыми дополнительными параметрами, такими как источник, место назначения и группа / владелец файлов на место назначения.
Я хотел бы создать файл, который дублирует содержимое папки, помещает его в другую папку, затем устанавливает группу / владельца файлов / папок и, вероятно, также выполняет chmod для некоторых папок в месте назначения.
Я знаю, как использовать эту команду отдельно друг от друга, но возможно ли сгруппировать все эти команды в один файл и выполнить этот файл с некоторыми параметрами?
Сервер работает на CentOS 6.0 (64-разрядная версия)
2 ответа
Например, вы можете написать скрипт, используя Bash, который будет последовательно выполнять все ваши команды и логику. В интернете есть много отличных материалов о скриптах Bash.
Не забудьте установить разрешение на выполнение файла скрипта (chmod +x filename.sh
) и выполните его, используя полный путь или начиная с ./filename.sh
Я знаю, как использовать эту команду отдельно друг от друга, но возможно ли сгруппировать все эти команды в один файл и выполнить этот файл с некоторыми параметрами?
Конечно, это возможно. Вы можете использовать любой язык сценариев bash / perl / php / ruby / и т. Д. Все, что захотите / знаете. Это может быть что-то вроде следующего
#!bin/bash
src=$1
dst=$2
uid=$3
gid=$4
action=$5
if [ $# -le 4 ]
then
echo "Usage: script.sh <source> <destination> <user owner> <group owner> <action>"
exit
fi
if [ ! -d "${src}" ]
then
echo "Source folder does not exist. Before proceed you must create it"
exit
fi
...
case "$action" in
create)
command1;
command2;
command3;
;;
delete)
command1;
command2;
command3;
;;
esac