linux自动备份mysql并上传到远程ftp脚本
星期五, 七月 9th, 2010生产需要,在cent os 5.4下自动备份mysql数据库并上传到远程ftp,花了点时间,脚本如下:
#auto ftp bakup
#by xhat 2010.06.08
#要备份的数据库
DBName=wwwdbname
#ftp账号信息
ftphost="test.com"
ftpuser=username
ftppass=passwd
#mysql账号信息
DBUser=root
DBPasswd=123456
BackupPath=./
NewFile="$BackupPath"db$(date +%y%m%d).tar.gz
DumpFile="$BackupPath"db$(date +%y%m%d).sql
OldFile="$BackupPath"db$(date +%y%m%d --date='1 days ago').tar.gz
#LogFile="$BackupPath"db$(date +%y%m%d --date='1 days ago').txt
echo "---------------------------"
echo $(date +"%y-%m-%d %H:%M:%S")
echo "---------------------------"
#删除
if [ -f $OldFile ]; then
rm -f $OldFile
echo "[$OldFile]Delete Old File Success!"
fi
#新
if [ -f $NewFile ]; then
echo "[$NewFile] 已经存在,不再备份! "
else
/opt/mysql/mysqldump -u$DBUser -p$DBPasswd $DBName > $DumpFile
sleep 5
tar czvf $NewFile $DumpFile
rm $DumpFile -rf
echo "[$NewFile]备份成功"
fi
echo "打开ftp"
ftp -i -in <<!
open $ftphost 21
user $ftpuser $ftppass
cd /
mput *.tar.gz
bye
!
echo "备份完成"
完成上面脚本后,在crontab里面加入每天凌晨定时执行即可。
10 3 * * * /opt/bak/mybak
服务器更换为nginx
星期四, 六月 24th, 2010blog所在服务器更换成nginx,速度应该是快多了。感谢非凡
centos 5.5 错误修复方法:Will not restore a file with more than one hard link (/etc/resolv.conf) No such file or directory
星期四, 六月 10th, 2010CentOS5.5,今天刚遇到的问题总结一下。
症状:服务器ping不通,所有网络连接失效,重启后正常。此现象反复出现,解决办法:
查看日志:
vim /var/log/messages 出现以下情况:
Jun 9 09:00:10 localhost restorecond: Will not restore a file with more than one hard link (/etc/resolv.conf) No such file or directory
分析:hard link没有正常建立,重新建立即可。
解决办法:
1. $ ls -i /etc/resolv.conf #get inode
2. 8292064 /etc/resolv.conf
3. $ sudo find /etc -inum 8292064#find hard link
4. Password:
5. /etc/sysconfig/networking/profiles/default/resolv.conf
6. /etc/resolv.conf
7. $ sudo /usr/sbin/lsof|grep resolv.conf #make sure it is not open
8. $ sudo rm /etc/sysconfig/networking/profiles/default/resolv.conf #delete
9. $ sudo restorecon /etc/resolv.conf
10. $ sudo ln /etc/resolv.conf /etc/sysconfig/networking/profiles/default/resolv.conf #recreate hard link
linux下自动校准服务器时间
星期一, 十二月 1st, 2008服务器时间一直不准,只是没太注意,积累时间长了,才发现原来服务器时间与北京时间已经错了半个小时了。于是无论如何也要把这个问题搞定,查阅了相关资料,简单而完美解决。
在root下输入:crontab -e,在打开的窗口中输入以内容:
30 7 * * * /usr/sbin/ntpdate time.nist.gov > /dev/null 2>&1
意思是每天的7点30分自动与ntp服务器同步,当然ntp服务器很多,可以自由选择。
2010.2.22更新:新发现教育网ntp服务器地址:time.edu.cn
把ssh做成sock代理的详细方法
星期六, 十一月 8th, 2008近几天为这事困扰了一阵子,终于找到资料,完美解决了这个问题。
假设你的ssh账号为username,密码为password,地址是server。
1.客户机为linux,很好办,打开终端:
#ssh -D 1080 Username@Server
然后在浏览器或相关软件配置socks5,地址为127.0.0.1,端口为1080即可,当然这里端口可以是随意没有被占用的。
2.客户机为windows,需要辅助的putty和plink。打开命令行到两个软件的目录:
plink -N Username@Server -pw Password -D 127.0.0.1:1080
请将Username Server Password三处改为您自己登陆服务器的用户名、服务器地址和密码。并保持该cmd窗口处于打开状态。然后配置浏览器或其他应用的socks5即可,地址127.0.0.1,端口1080。putty和plink下载地址
干什么用就不细说了,上网必备的瑞士军刀(良民一,需要穿墙的内容俺是不看的。体谅go.v)。
freebsd7.0使用bash带色彩显示
星期一, 三月 10th, 2008安装bash:
pkg_add -r bash
whereis bash
/usr/ports/shells/bash # make install clean
登陆默认shell为bash: chsh -s bash
同理安装gnuls:
#cd /usr/ports/misc/gnuls
#make install clean
在/etc/profile文件中添加:
alias ls = "gnuls –color
"
rhel5大内存支持
星期天, 三月 9th, 2008以前总以为内核的编译很麻烦,试试才知道如此简单;以前以为写一个功能较全的函数会比较麻烦,写了才知道没那么难。我想很多事情是我们把它想太难了,在做好之前已经给自己下了紧箍咒。
rhel5默认内核安装在超过4G的服务器上,会出现内存认不完整的现象,解决办法则是重新编译内核,打开highmemrey的64G选项。
make configmenu
/64g
linux下如何进行释放内存
星期天, 二月 24th, 2008这一阵子对linux学习不少,因为遇到了不少的问题—-都是一个相对相互的过程。所以我在哪里好像写过一句话:我们无非是遇到些问题,然后解决它罢了。
通过对discuz的二次开发,渐渐领悟了不少mvc的思想,虽然有质的飞跃,但我肯定这只是开始,还有很多东西需要学习和探讨才能明白。打算开始漫长的zf之旅。谁再说php没有开发模式,那只是大部分php programer对开发模式的了解甚少罢了,毕竟平凡的占多数。
谈谈主题:linux下如何释放内存?
这一段调试php程序总是见服务器内存占用98%左右,很少下降,心里就范迷惑,莫非内存太小不够用么,服务器可是4G内存啊,两个4核cpu怎么可能出现这么高的内存占用?后来查了一下,发现linux与win的内存方法使用相差很大。windows下内存是使用多少就拿来多少内存用;linux是先把内存尽可能占用,然后再重新分配给各个应用,分配完后剩下的内存用来存放各种缓存,例如grep这样的查询(我正迷惑前几天的大目录grep速度超快)就可以利用内存缓存大大提高系统文件交换速度。这样以来就豁然开朗了。完全不用担心内存被占用完。
如果你很无聊的想释放内存,可以使用这个命令:
echo 1 > /proc/sys/vm/drop_caches
对比下释放前后内存占用情况,很爽哦~。释放前最好使用下sync命令以防数据丢失。