Category Archives: shell
C 操作 MySql
1, 启动 mysql 服务 #我安装的是 lampp , 安装路径是 /opt/lampp/lampp /opt/lampp/lampp start 2, 查询 mysql_config 位置 whereis mysql_config # 显示位置为 /opt/lampp/bin/mysql_config 3, 编写测试脚本 test_mysql.c /* Simple C program that connects to MySQL Database server */ #include <stdio.h> #include <mysql.h> #include <stdlib.h> void main() { MYSQL *conn; MYSQL_RES *res; MYSQL_ROW row; char *server = "localhost"; char *user [...]
Linux下SVN客户端版本库定时更新
现有两台机器 一台 windows : 192.168.1.125 一台 linux : 192.168.1.132 (Ubuntu 10.04 LTS / root) windows 上运行有 SVN-Server (svn://192.168.1.125) Linux 上安装有 SVN-Client , 现在想定时(每一小时)更新一次 Linux 上的版本库. 1, 先将 SVN-Server 上的版本库检出到 Linux 机器的指定目录 (/root/backup/winsvn/) cd /root/ mkdir backup cd backup/ mkdir winsvn cd winsvn/ /usr/bin/svn checkout svn://192.168.1.125 . 2, 设置 crontab crontab -e #将 crontab 中的内容修改如下 #第一条是定时同步时钟的, [...]
微博缩短网址的实现
原文在这里 随着类似Twitter的微型博客网站的出现,由于字符数的限制,网址缩短服务日渐增多。加上网址缩短服务提供商提供网址追踪等服务,这一业务日渐兴起。知名网址缩短服务商Bit.ly的主要业务便是为微博Twitter提供网址缩短服务。 比如sina微博的sinaurl.cn,腾讯微博的url.cn等。 实现原理很简单,主要是将用户提交的 url 地址转化成一个唯一的字串,这个字串就对应着真实的 url,怎么样实现这种转换呢? url 的转换摘自:http://www.cnblogs.com/sunli/archive/2010/03/25/1696183.html 数据库只有两个字段seq(自增长数字)和url(数字的url地址,建立索引)。 用户输入一个url地址,查询表是否包含此url,如果存在,则返回seq的数字, 如果不存在,则插入数据库,得到一个新增加的自增seq数字,为了缩短数字占用的字符数,我们可以把abc等字母的大小写用上。这样10个数字,26个小写字母,26个大小字母就组成了一个62进制了。比如数字10000000000(100亿)转换后就是aUKYOA,只有6位了,这样就能缩短很多的网址了。 <?php //十进制转到其他制 function dec2any( $num, $base=62, $index=false ) { if (! $base ) { $base = strlen( $index ); } else if (! $index ) { $index = substr( "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" ,0 ,$base ); } $out = ""; for ( $t = floor( log10( [...]
VPS 自动备份数据库
1, 这是我的自动备份数据库 SHELL 脚本, 它将在 VPS 服务器上运行, 导出数据库后压缩成包, 然后通过 scp 命令将压缩包备份到另一台服务器( x4100 ) 中. #!/bin/bash D="/root/backup" T=`date +%Y%m%d` if [ ! -d "${D}/${T}" ]; then /bin/mkdir "${D}/${T}" fi /usr/local/mysql/bin/mysqldump --host=localhost --user=root --password=数据库密码 要备份的数据库名 > "${D}/${T}/${T}.sql" cd ${D} /bin/tar -czf "${D}/${T}.tar.gz" "${T}" /usr/bin/scp "${D}/${T}.tar.gz" kuco@x4100.unix-center.net:~/web_backup/studyday.net 2, 设置 Crontab , 更多的 crontab 介绍在这里 crontab -e 30 04 [...]
计划任务 crontab 基本运用
Linux 计划任务 Crontab 基本格式: * * * * * command 分 时 日 月 周 命令 第1列表示分钟1~59 每分钟用*或者 */1表示 第2列表示小时1~23(0表示0点) 第3列表示日期1~31 第4列表示月份1~12 第5列标识号星期0~6(0表示星期天) 第6列要运行的命令 crontab文件的一些例子: 30 21 * * * /opt/lampp/lampp restart #上面的例子表示每晚的21:30重启lampp。 45 4 1,10,22 * * /opt/lampp/lampp restart #上面的例子表示每月1、10、22日的4 : 45重启lampp。 10 1 * * 6,0 /opt/lampp/lampp restart #上面的例子表示每周六、周日的1 : 10重启lampp。 0,30 18-23 * * * /opt/lampp/lampp restart [...]
linux常用命令
部分参考自这里 #[ 目录/文件 ]################################ #切换目录 cd /home/kuco/ #切换到 /home/kuco/ 目录 cd .. #切换到上一级目录 cd ~ #切换到当前用户的家目录 cd #切换到当前用户的家目录 #显示目录文件 ls #显示当前目录文件列表 # 可带参数: # -a 列出全部文件,包括隐藏文件(文件名以.开头的文件) # -l 详细列表 #创建目录 mkdir dirname #删除目录 rm -rf dirname # -r 递归处理 # -f 强制删除(不显示确定删除提示对话) rm -ri dirname # -i 显示确定删除提示框(推荐带上此参数) #复制 cp -r dirname1 dirname2 # 将 [...]
突破 VPS 上传速度过慢的瓶颈
国外 VPS 优点一大堆, 缺点就一个: 上传速度太慢, 只能用龟速来形容. 家里1M的带宽, 上传文件到 VPS 空间速度竟然小于20K/s, 这真是个致命的弱点, 想想要传几十张照片要几个小时真是让人抓狂. 刚刚说了 VPS 有很多优点, 其中一个就是可以用 ssh 登录, 这可是个令人怦然心动的强大的好功能. 这意味着你能在 VPS 上执行任意 shell 命令, 包括 wget, scp 我们得好好利用 VPS 的这些优点来弥补它唯一的缺点. 如果你能找到一个国内空间做中转, 先把本地文件上传到中转空间上, 然后用用 putty 远程登录 VPS 利用 wget 命令去下载, 那你就自由了. 因为 VPS 服务器都在国外骨干网络上, 所以下载速度是没有上限的, 速度那只能用飞来形容. 你还可以找到一台国内linux服务器做中转, 先把本地文件上传到中转空间上, 然后用用 putty 远程登录 VPS 利用 spc 命令去远程复制, 这样也是 [...]
SHELL脚本编程入门
SHELL脚本编程入门 #!/bin/bash # 0, 上面这一行,也就是文件第一行格式内容固定不变 # 1, 注释 # 第一行以下的内容中#以后的内容都是注释 # 2, 执行 abc.sh sh /your_path/abc.sh # 3, 打印 echo "abc" # 4, 变量 STR="abc" #等号两边不能有空格 echo $STR echo ${STR} echo "123${STR}456" echo "123\${STR}456" echo '123${STR}456' # 5, 字符串连接 STR1="abc" STR2="def" STR3="${STR1}${STR2}" echo ${STR3} # 6, 将一个shell命令的结果赋值给变量 DATE_STR=`date +%Y-%m-%d` echo ${DATE_STR} # 7, 函数,先定义后调用 _log() [...]
在VPS上搭建VPN