Почему бы просто не сделать все это в этой функции? Что-то вроде:
rnew() {
local appdir="$HOME/code/$1"
mkdir "$appdir" || return
echo "rvm use 1.8.7@$1" > "$appdir/.rvmrc"
(cd "$appdir" && rvm gemset create "$1") || return
rails new "$1" -m "$HOME/code/config/base_template.rb" -T -J || return
cd "$appdir" && git init .
}
Я бы рекомендовал инструмент synkron. Это приложение с открытым исходным кодом, доступное для Linux (и других ОС). Более поздняя копия файла обновляется по папкам на основе метки времени. Частота синхронизации определяется пользователем.
Для установки вам необходимо создать его, для которого требуется Qt 4.3 или последняя версия.
Проверьте исходную страницу (synkron on sourceforge) для деталей загрузки и установки.
Преимущества над rsync+cron и другими простыми подходами:
Временная резервная копия который сохраняется в течение определенного времени. Возможность не распространять удаления. Несколько каталогов могут быть связаны как с мастерами, так и с ведомой мастер-конфигурацией.Страница проекта - synkron on sourceforge / Документация - Документация Synkron