Пользуйтесь.
Код: Выделить всё
#!/bin/sh
# CS:S directory
CR_DIR="/opt/steam/cstrike/"
# WEB-server CS:S directory
WWW_DIR="/var/www/nginx-default/cstrike/"
# WEB-server data owner
WWW_USER="www-data"
# Directories to sync without recursion
SYNC_DIRS="maps/"
# Directories to sync with recursion
SYNC_DIRS_R="gfx/ materials/ models/ resource/ sound/ sprites/"
PWD=`pwd`
for s_dir in ${SYNC_DIRS_R} ; do
cd "${CR_DIR}${s_dir}"
find ./ -type d -print|grep -v "^.$"| sed 's/^.\///g'|while read fl ; do
mkdir -p "${WWW_DIR}${s_dir}${fl}"
done
find ./ -type f -print|sed 's/^.\///g'|while read fl ; do
if [ ! -f "${WWW_DIR}${s_dir}${fl}.bz2" ]
then
cp "${fl}" "${WWW_DIR}${s_dir}${fl}"
bzip2 "${WWW_DIR}${s_dir}${fl}"
fi
done
done
for s_dir in ${SYNC_DIRS} ; do
cd "${CR_DIR}${s_dir}"
ls *.*|grep -v ".ztmp$"| while read fl ; do
if [ ! -f "${WWW_DIR}${s_dir}${fl}.bz2" ]
then
cp "${fl}" "${WWW_DIR}${s_dir}${fl}"
bzip2 "${WWW_DIR}${s_dir}${fl}"
fi
done
done
chown -R ${WWW_USER} "${WWW_DIR}"
chmod -R 777 "${WWW_DIR}"
cd "${PWD}"