自動バックアップおよびミラーリングスクリプトを作成して、ファイル、db、セットアップ権限をコピーしたり、ミラーリングされたファイルを少し変更したりして、バックアップされたファイル私は再構成以外のすべてのことを書いて設定しました。すべての私の試みは失敗し、私はそれを回避する方法を知らない。shファイルを使用して検索および置換する
したがって、これらは、(公共の使用のために改変)relevent線である:
FOLDER="kf.hammertime.com.au"
SERVER="fulcan"
BACKUPUSER="backupclient3"
DESTINATION="/var/www/Backup-Server"
SOURCE="/var/www"
RECONFIG="1"
if [ "${RECONFIG}" = "1" ]
then
#Original to be replace
echo Reconfiguring website for the mirrored site.
REPLACESTRING10="define (\'ROOT_PATH\', \'\/var\/www\/${FOLDER}\/trunk\')"
REPLACESTRING20="define ('DB_PASSWORD', 'hammertime1')"
REPLACESTRING30="define ('DB_USERNAME', 'hammertime2')"
REPLACESTRING40="define ('DB_HOST', 'localhost')"
#String to be replaced
REPLACESTRING11="define ('ROOT_PATH', '${SOURCE}\/${FOLDER}')"
REPLACESTRING21="define ('DB_PASSWORD', 'hammertime3')"
REPLACESTRING31="define ('DB_USERNAME', 'hammertime4')"
REPLACESTRING41="define ('DB_HOST', 'hammertime5')"
REPLACESTRING12="define (\'ROOT_PATH\', \'${SOURCE}\/${FOLDER}\/trunk\')"
echo ${REPLACESTRING10}
#Reconfigure various configuration files for Backup-Server active use
#find /your/home/dir -name "*.txt" | xargs perl -pi -e 's/stringtoreplace/replacementstring/g'
#Edits the files regardless if its in trunk or not. Will come up with errors.
#sudo replace "${REPLACESTRING10}" "${REPLACESTRING12}" <${DESTINATION}/${FOLDER}/trunk/lib/config.php> ${DESTINATION}/${FOLDER}/trunk/lib/config2.php
#sudo sed -i s/"${REPLACESTRING10}"/"${REPLACESTRING12}"/g ${DESTINATION}/${FOLDER}/trunk/lib/config.php
#sudo perl -i -p -e 's{${REPLACESTRING10}}{${REPLACESTRING12}}g' ${DESTINATION}/${FOLDER}/trunk/lib/config.php
sudo sed -i 's/${REPLACESTRING10}/${REPLACESTRING12}/g' ${DESTINATION}/${FOLDER}/trunk/lib/config.php
#sudo sed -i 's/${REPLACESTRING10}/${REPLACESTRING11}/g' ${DESTINATION}/${FOLDER}/lib/config.php
#sudo sed -i 's/${REPLACESTRING20}/${REPLACESTRING21}/g' ${DESTINATION}/${FOLDER}/trunk/lib/config.php
#sudo sed -i 's/${REPLACESTRING20}/${REPLACESTRING21}/g' ${DESTINATION}/${FOLDER}/lib/config.php
#sudo sed -i 's/${REPLACESTRING30}/${REPLACESTRING31}/g' ${DESTINATION}/${FOLDER}/trunk/lib/config.php
#sudo sed -i 's/${REPLACESTRING30}/${REPLACESTRING31}/g' ${DESTINATION}/${FOLDER}/lib/config.php
#sudo sed -i 's/${REPLACESTRING40}/${REPLACESTRING41}/g' ${DESTINATION}/${FOLDER}/trunk/lib/config.php
#sudo sed -i 's/${REPLACESTRING40}/${REPLACESTRING41}/g' ${DESTINATION}/${FOLDER}/lib/config.php
fi
非常に短い線「須藤SED -i 'S/$ {REPLACESTRING10}/$ {REPLACESTRING12}/G' $で{DESTINATION}/$ {FOLDER} /trunk/lib/config.php "は変数を全くうまくとらない。
だから私はperlの代替を使ってみましたが、役に立たなかった(しかし、私はそれをn00bingしていた可能性があります)。私の試みのほとんどはそこにリストされています。交換するだけでなく。
1つのファイルで特定の行を変更するだけです(行番号は変更できます)。
あなたの時間と忍耐強くお祈りしています(ちなみに、これは初めてのSHスクリプトの作成ですが、私はBATに慣れていますので、私はそれを公正に詰め込んだと確信しています。それがエラーなしでうまく動作します)
EDIT: ファイルチャンクは、次のようになります。
define ('ROOT_PATH', '/var/www/kf.hammertime.com.au/trunk');
define ('DB_HOST', 'hammertime1');
define ('DB_USERNAME', 'hammertime2');
define ('DB_PASSWORD', 'localhost');
と私はそれを変更したい:
define ('ROOT_PATH', '/var/www/Backup-Server/kf.hammertime.com.au/trunk');
define ('DB_HOST', 'hammertime3');
define ('DB_USERNAME', 'hammertime4');
define ('DB_PASSWORD', 'hammertime5');
しかし、これらの編集項目のいくつかはになります変数...
がOKまあ、私はこれを取得:------ sudoのsedの-iの定義/ \ '\ '' のroot_path \' \ '\、\' \」 '/ var/www \ /jb.qk.com.au \ /トランク\' \ '' /定義\ '\' 'ROOT_PATH \' \ ''、\ '\' '/ var/www \/jb .qk.com.au \/trunk \ '\' '/' /var/www/Backup-Server/jb.qk.com.au/trunk/lib/config.php sed:-e expression#1、 char 87: 's 'に未知のオプション----- 私は何をエスケープしていませんか? – Mattisdada
私のリビジョンを参照してください。がんばろう。 – shellter
最後の編集はそれでした。非常にありがとうございました:)。私はそれを理解できなかったら私の髪を裂くつもりでした..... – Mattisdada