鹰击长空yuetao.org

欢迎光临
4月 2

[置顶] 十大经典现实 不指定

yuetao , 15:11 , life , 评论(0) , 引用(0) , 阅读(121) , 本站原创
一、成功都是逼出来的;

二、如果你简单,这个世界就对你简单;

三、怀才就像怀孕,时间久了会让人看出来;

四、过去酒逢知己千杯少,现在酒逢千杯知己少;

五、参加一次21天训练营,行动力强弱决定成功快慢;

六、人生如果错了方向,停止就是进步;

七、要成功,需要朋友;要取得巨大成功,需要敌人;

八、人生两大悲剧:一是万念俱灰,一是踌躇满志(却只想不做);

九、人和爱情一样,错过了爱情就错过了人生;

十、天下有钱人终成眷属 !

3月 12

[置顶] chown chgrp chmod 晴

yuetao , 18:29 , os » linux , 评论(2) , 引用(0) , 阅读(1654) , 本站原创
chown  修改文件或目录所属主、文件所属组



chown -R www:ftpuser ./*

说明 : 当前所有文件和目录 所属主 改为 www 所属组改为 ftpuser ,递归执行 所有下属目录

--------------------------------------------------------------

chgrp 修改文件或目录所属组

chgrp -R www ./*

说明 : 当前所有文件和目录 所属组改为 www, 递归执行 所有下属目录

-------------------------------------------------------------

chmod 修改文件或目录权限


chmod -R 777 ./*

说明 : 当前所有文件和目录 权限 改为 777 , 递归执行 所有下属目录


权限控制 分 3位
7 7 7

第一位代表 文件所有者的权限
第二位代表 文件所有组的权限
第三位代表 其他用户的权限 


其中 

1 只能 执行
2 只能 写
3 只能 写 和 执行 
4 只能 读
5 只能 读 和 执行 
6 只能 读 和 写 
7 完全控制 包括 读 写 执行 

Tags: , ,
3月 5

文件名 mysql_data_backup.sh (需要执行权限)


mysql 数据库表自动备份shell 脚本 (第二版)



调用示例:


mysql_data_backup.sh


包含功能:

1.生成备份日志

2.自动检测指定数据库中的库列表,单独备份每个库,最后打包为tar文件

3.可指定备份存档文件(.tar) 保留的数目, 按时间正序清理以前的存档

4. 恢复时可以登录 mysql 以后直接用 source xxx.sql 自动删除和创建数据库,并还原数据.

需要修改的变量:

db_host
  //数据库主机

db_user //数据库帐号

db_passwd //数据库密码

backupFileNum //保留的备份存档文件数目,超出该数目自动清理

backupDir //备份文件存放的目录

logfile //日志文件路径

----------------------------------------

如何恢复数据:

参见 mysql 数据库表自动备份shell 脚本(第一版) 

#!/bin/bash

# mysq link user config
db_host=192.168.0.222
db_user=admin
db_passwd=123456
# backup File number
backupFileNum=4


# log file
logfile='/sqlbackup/backup.log'

# backup of directory Do not bring /
backupDir="/sqlbackup"

 


# check database name
echo 'Backup begin'

begin_time=`date '+%s'`


# get databases list
databases_content=`mysqlshow -u $db_user -p$db_passwd -h $db_host | sed 's/|//g' | sed 's/ //g' | sed '1,4d' | sed '$d'`

# check databases if emptyed then exit
databases_content_check=`echo -n $databases_content > /tmp/mysql_backup_check.tmp`

if [ ! -s /tmp/mysql_backup_check.tmp ];then
    echo 'Database Emptyed Backup stop.'
    exit
fi


# plan backup of sql databases
databases=(${databases_content})

# get databases length
databases_len=${#databases[*]}


# backup of directory for date
datestamp=$(date "+%Y%m%d")


# final backup directroy
fileDir="$backupDir/$datestamp"


# auto create target directory
if [ ! -d $backupDir ];then
 mkdir $backupDir
fi

if [ ! -d $fileDir ];then
 mkdir $fileDir
fi

if [ ! -d $logfile ];then
 touch $logfile
fi


echo "total $databases_len databases."

for ((i=0;i<$databases_len;i++))

do

  dbName="${databases[$i]}"

  fileName="${databases[$i]}.sql"

  filePath="$fileDir/$fileName"

  echo "Database [$dbName] Backup ..."

  echo "DROP DATABASE IF EXISTS \`$dbName\`;"  > $filePath

  echo "CREATE DATABASE \`$dbName\` CHARACTER SET \`utf8\`;" >> $filePath

  echo "use $dbName;" >> $filePath

  mysqldump -h $db_host  -u $db_user -p$db_passwd $dbName >> $filePath

done

 

 

 

# tar files
cd $backupDir
tar cvf ${datestamp}.tar ./${datestamp}

# delete source archive
rm -rf ./${datestamp}

end_time=`date '+%s'`
total_time=$[end_time-begin_time]
echo 'Backup Done'
echo "Total time: ${total_time} second"


now_date=`date '+%Y-%m-%d %k:%M:%S'`
# save log
echo "${now_date} : Backup Databases : Total time [${total_time}s]" >> $logfile

 


# begin clean excess of backup file


# count backup dir name of length;
backupDir_length=`expr length "$backupDir"`

# get tar file list
backupFile_list=` find $backupDir -name "*.tar" | sort -n -r -k 1.$backupDir_length`

# set array
backupFiles=(${backupFile_list})

backupFile_length=${#backupFiles[*]}

if [ $backupFile_length -gt $backupFileNum ];then
        for((i=$backupFile_length;i>$backupFileNum;i--))
        do
                fileName="${backupFiles[$i-1]}"
                rm -rf $fileName
                #save log
                echo "file: $fileName deleted"
                echo "file: $fileName deleted" >> $logfile
        done
else
        echo "backup file number normal."
fi

5月 18



file_get_contents 请求 http地址的时候需要域名解析,这时如果我们用于本地开发,域名解析往往 需要更改 hosts 文件

比如:

file_get_contents('http://xxxx2.com');


这个就会失败,因为 http://xxxx2.com 域名不存在,但是我们可以让它 存在 ,那就是 更改 C:\WINDOWS\system32\drivers\etc\hosts 添加一条记录

127.0.0.1 xxxx2.com


这样再 调用:

file_get_contents('http://xxxx2.com');

就可以得到内容了。


如果服务器上调用file_get_contents 失败,也可以尝试用这个方法。

5月 18


第一步:下载cwrsync server端

下载 cwRsync_Server_2.0.10_Installer.exe

第二步:安装配置

(1)
打开压缩包
安装cwRsync_Server_2.0.10_Installer.exe
在开始程序中打开“start a unix bash shell”程序:
进入一个类似cmd的终端,输入如下命令:
$/bin/activate-user.sh
输入l
输入administrator
后面全按回来结束

(2)启动opensshd
打开“控制面板”-->“管理工具”-->“服务”:
找到一个opensshd的服务,启动它

(3)配置rsyncd.conf配置文件
打开 “开始” - “ cwRsync Server" - "01. rsyncd.conf"


内容如下:
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock
log file = /var/log/rsyncd.log
uid = administrator  
gid = administrator
use chroot = no
max connections =4
syslog facility = local5
[yourphp]
# path 中 /cygdrive/ 表示我的电脑  之后跟盘符后面 / 然后是文件夹  /
path =/cygdrive/d/www/yourphp
comment=welcome
# 可以忽略一些无关的IO错误
ignore errors
# 只读
read only=yes
# 允许列表
list=yes
# 模块帐号验证文件
secrets file=etc/inburst.pas
 

其中 模块帐号验证文件 inburst.pas 的内容如下(inburst 为验证帐号 hack 为密码)
inburst:hack  

 

第三步:启动服务

在服务中把RsyncServer启动,启动类型修改为自动


第三步:执行备份

登录 linux 系统

#使用自动密码确认
rsync -av --password-file=passwd.pwd user@192.168.1.2::test /backup/test
 

#使用自动密码确认并显示详细进度
rsync -vzrtopg --progress --delete --password-file=passwd.pwd user@192.168.1.2::test /backup/test



Tags: ,
分页: 1/30 第一页 1 2 3 4 5 6 7 8 9 10 下页 最后页 [ 显示模式: 摘要 | 列表 ]