rsync -rh --size-only --progress --stats --verbose --delete hio@hio.fr:/home/hio/ /home/hio |
Archives mensuelles : février 2011
memo varnish purge
varnishadm -S /etc/varnish/secret -T :6082 "url.purge .*" varnishadm -S /etc/varnish/secret -T :6082 'purge req.http.host == "blog.hio.fr"' varnishadm -S /etc/varnish/secret -T :6082 'purge req.url ~ .(xml|txt)' |
pureftpd_adduser.sh
#!/bin/bash # ftp ftp_root="/home/ftp" ftp_host="ftp.host.com" ftp_port="21" ftp_user=$1 ftp_passwd=`pwgen -y 12 1` ftp_owner="www-data:www-data" ftp_perm="555" ftp_uid="33" ftp_gid="33" # mysql mysql_user="PUREUSER" mysql_db_name="DBNAME" mysql_table="TABLE" mysql_passwd="PASSWORD" # lftp lftp_bin="/usr/bin/lftp" function usage { echo "Usage:" echo "$0 ftp_user" } if [[ $1 == "" ]]; then usage exit 1 fi if [ ! -d "$ftp_root/$ftp_user" ]; then echo "create user home dir $ftp_root/$ftp_user" mkdir $ftp_root/$ftp_user chown $ftp_owner $ftp_root/$ftp_user chmod $ftp_perm $ftp_root/$ftp_user echo "create user $ftp_user" mysql -u"$mysql_user" -p"$mysql_passwd" <<EOF INSERT INTO $mysql_db_name.$mysql_table (User, status, Password, Uid, Gid, Dir, ULBandwidth, DLBandwidth, comment, ipaccess, QuotaSize, QuotaFiles) VALUES ('$ftp_user', '1', MD5('$ftp_passwd'), '$ftp_uid', '$ftp_gid', '$ftp_root/$ftp_user', '0', '0', '', '*', '0', '0'); EOF echo "## FTP USER ##" echo "host: $ftp_host" echo "port: $ftp_port" echo "login: $ftp_user" echo "password: $ftp_passwd" echo "## TEST ACCOUNT ##" if [ -f "$lftp_bin" ]; then $lftp_bin -u $ftp_user,$ftp_passwd localhost -e "ls;quit" else echo "lftp ($lftp_bin) not found" fi echo "done." else echo "user $ftp_user already exists" fi |
find + grep
find . -name "*.html" -type f -exec grep -irl "data:," {} \; |
fix_db_host.sh
#!/bin/bash www_dir="/home/www" for i in `ls $www_dir` do mkdir -p /tmp/$i/ sed -e 's/old.database.com/new.database.com/g' $i/wp-config.php > /tmp/$i/wp-config.php mv /tmp/$i/wp-config.php $www_dir/$i/wp-config.php rmdir /tmp/$i/ done |
migrate_wordpress.sh
#!/bin/bash # SSH ssh_host="source.host.tld" ssh_user="hio" ssh_port="22" ssh_key="/home/hio/.ssh/id_rsa" www_dir="/www/blogs/" # WWW vhost_template="/home/hio/blog.vhost" blog=$1 vhost_server_name=$2 # REMOTE remote_tmp_dir="/home/hio/tmp" remote_mysql_root="root" remote_mysql_password="password" # LOCAL local_tmp_dir="/tmp" local_mysql_root="root" local_mysql_password="password" if [ ! -f "$blog/wp-config.php" ]; then echo 'COPY WORDPRESS FILES...' scp -r -P$ssh_port -i$ssh_key $ssh_user@$ssh_host:/$www_dir/$blog . db_host=`grep 'DB_HOST' $blog/wp-config.php|awk -F "'" '{print $4}'` db_name=`grep 'DB_NAME' $blog/wp-config.php|awk -F "'" '{print $4}'` db_user=`grep 'DB_USER' $blog/wp-config.php|awk -F "'" '{print $4}'` db_password=`grep 'DB_PASSWORD' $blog/wp-config.php|awk -F "'" '{print $4}'` echo "DB_HOST: $db_host" echo "DB_NAME: $db_name" echo "DB_USER: $db_user" echo "DB_PASSWORD: $db_password" echo "DUMP REMOTE DB TO $remote_tmp_dir/$db_name.sql" ssh -i$ssh_key $ssh_user@$ssh_host -p $ssh_port <<EOF>> /dev/null 2>&1 mkdir -p $remote_tmp_dir cd $remote_tmp_dir mysqldump --user=$remote_mysql_root --password=$remote_mysql_password -c $db_name > $remote_tmp_dir/$db_name.sql EOF echo "GET REMOTE DB $remote_tmp_dir/$db_name.sql TO $local_tmp_dir" scp -i$ssh_key -P$ssh_port $ssh_user@$ssh_host:$remote_tmp_dir/$db_name.sql $local_tmp_dir echo "CREATE USER '$db_user'@'localhost' IDENTIFIED BY '$db_password';" echo "CREATE DATABASE $db_name;" echo "GRANT ALL PRIVILEGES ON $db_name.* TO '$db_user'@'localhost' WITH GRANT OPTION;" mysql -u"$local_mysql_root" -p"$local_mysql_password" <<EOF CREATE USER '$db_user'@'localhost' IDENTIFIED BY '$db_password'; CREATE DATABASE $db_name; GRANT ALL PRIVILEGES ON $db_name.* TO '$db_user'@'localhost' WITH GRANT OPTION; EOF echo "IMPORT DUMP $local_tmp_dir/$db_name.sql TO DATABASE $db_name" mysql -u"$local_mysql_root" -p"$local_mysql_password" $db_name < $local_tmp_dir/$db_name.sql echo "REMOVE LOCAL/REMOTE $db_name DUMP" rm $local_tmp_dir/$db_name.sql ssh -i$ssh_key $ssh_user@$ssh_host -p $ssh_port <<EOF>> /dev/null 2>&1 rm $remote_tmp_dir/$db_name.sql EOF fi if [ ! -f "/etc/apache2/sites-available/$vhost_server_name" ]; then echo "CREATE VHOST FOR $vhost_server_name" cat $vhost_template|sed "s/%BLOG_NAME%/"$vhost_server_name"/g" > /etc/apache2/sites-available/$vhost_server_name; fi if [ ! -f "/etc/apache2/sites-enabled/$vhost_server_name" ]; then echo "LINK /etc/apache2/sites-enabled/$vhost_server_name /etc/apache2/sites-available/$vhost_server_name" ln -s /etc/apache2/sites-available/$vhost_server_name /etc/apache2/sites-enabled/$vhost_server_name fi chown www-data:www-data -R $blog |
<VirtualHost *:8080>
ServerAdmin romain.bureau@bayard-presse.com
DocumentRoot /home/www/%BLOG_NAME%/
ServerName %BLOG_NAME%
ErrorLog ${APACHE_LOG_DIR}/%BLOG_NAME%-error.log
CustomLog ${APACHE_LOG_DIR}/%BLOG_NAME%-access.log combined
RewriteEngine on
RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK)
RewriteRule .* - [F]
<directory /home/www/%BLOG_NAME%/>
Options -Indexes +ExecCGI
AllowOverride All
order allow,deny
Allow from all
</directory>
</VirtualHost> |
cd /var/www bash /home/hio/migrate_wordpress.sh blog.hio.fr blog.hio.fr |