#!/bin/shexport LANG=zh_CN.UTF-8REPOS=”$1″REV=”$2″svn checkout –username 用户名 –password 密码 svn://127.0.0.1/test /var/www/test
-
svn数据备份,还原检出到其他目录
hooks目录下的post-commit 是上传钩子脚本即你从本地上传文件到svn服务器的时候触发该脚本注意post-commit 文件权限为root可执行vi /var/svn/project-name/hooks/post-commit##从svn版本库中检出源文件到新的目录 /var/www/test -
apache端口转发
在某些时候,可能需要将发到apache某个端口的请求转发到另外一个端口. mod_proxy模块可以方便的完成这个需求.ubuntu中配置apache2比较方便. 下面以lucid中apache2为例介绍如何使用 mod_proxy1. 首先配置mod_proxy模块将/etc/apache2/mods-available中的proxy_http.loadproxy.loadproxy.confproxy_connect.loadln -s 到 /etc/apache2/mods-enabled注意需要适当的修改 proxy.conf2. 在 /etc/apache2/sites-enabled中建立一个文件(或一个连接 ln -s 到一个文件)<VirtualHost *:80>ProxyPreserveHost OnServerName www.example.comProxyPass / http://www.example.com:8000/ProxyPassReverse / http://www.example.com:8000/ServerAdmin webmaster@localhost</VirtualHost>这样, 所有http://www.example.com 请求实际上都是到了其 8000端口. 80端口实际上成了 8000端口的一个代理当然 mod_proxy能够完成的任务不止这些. 例如, 它可以将请求转发到别的服务器上(配置合适的话).使用该模块应该注意 proxy.conf的配置. -
debian操作系统安装记录
1.安装sudo 编辑/etc/sudoers2.安装配置apt源vim /etc/apt/source.list然后进行更新源apt-get -s upgradeapt-get update3.安装ssh(openssh-server)4.安装rcconf(服务管理器)管理需要启动的服务 -
scp命令:两台服务器文件传输,进阶-设置两台服务器不需要密码直接复制
scp 命令是 SSH 中最方便有用的命令了,试想,在两台服务器之间直接传送文件,仅仅用 scp 一个命令就完全解决了。 你可以在一台服务器上 以 root 身份运行 #scp servername:/home/ftp/pub/file1 . 这样就把另一台服务器上的文件 /home/ftp/pub/file1 直接传到本机器的当前目录下,当然你也可以用 #scp /tmp/file2 servername:/boot 把本机上的文件 /tmp/file2 送到另一台机器的 /boot 目录下。而且整个传送过程仍然是用 SSH 加密的。scp 就是 secure copy, 是用来进行远程文件拷贝的 . 数据传输使用 ssh1, 并且和 ssh1 使用相同的认证方式 , 提供相同的安全保证 . 与 rcp 不同的是 ,scp 会要求你输入密码如果需要的话 .案例:copy 本地的档案到远程的机器上scp /etc/lilo.conf my@www.upsdn.net:/home/myscp 命令是 SSH 中最方便有用的命令了,试想,在两台服务器之间直接传送文件,仅仅用 scp 一个命令就完全解决了。 你可以在一台服务器上 以 root 身份运行 #scp servername:/home/ftp/pub/file1 . 这样就把另一台服务器上的文件 /home/ftp/pub/file1 直接传到本机器的当前目录下,当然你也可以用 #scp /tmp/file2 servername:/boot 把本机上的文件 /tmp/file2 送到另一台机器的 /boot 目录下。而且整个传送过程仍然是用 SSH 加密的。
scp 就是 secure copy, 是用来进行远程文件拷贝的 . 数据传输使用 ssh1, 并且和 ssh1 使用相同的认证方式 , 提供相同的安全保证 . 与 rcp 不同的是 ,scp 会要求你输入密码如果需要的话 .
案例:
copy 本地的档案到远程的机器上scp /etc/lilo.conf my@www.upsdn.net:/home/my/123.conf
copy远程机器上的档案到本地来
scp my@www.upsdn.net:/etc/lilo.conf /etc
进阶—————-
最近在编写定时自动执行的shell脚步中遇到一个问题。在该脚步中,需要使用scp命令将本地的文件复制到另一台机器中备份。但通常执行scp命令后都需要输入用户密码,这样在定时自动执行的shell脚步中就不适用了。
本人的第一直觉就是建立无密码用户,在scp命令中使用该用户就不需要输入用户密码了。
以下是在机器Client的root和机器Server的root之间建立安全信任关系的步骤:
1. 在机器Client上root用户执行ssh-keygen命令,生成建立安全信任关系的证书。
[root@Client root]# ssh-keygen -b 1024 -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase): <– 直接输入回车
Enter same passphrase again: <– 直接输入回车
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
49:9c:8a:8f:bc:19:5e:8c:c0:10:d3:15:60:a3:32:1c root@Client
[root@Client root]#
注意:在程序提示输入passphrase时直接输入回车,表示无证书密码。
上述命令将生成私钥证书id_rsa和公钥证书id_rsa.pub,存放在用户家目录的.ssh子目录中。
2. 将公钥证书id_rsa.pub复制到机器Server的root家目录的.ssh子目录中,同时将文件名更换为authorized_keys。
[root@Client root]# scp -p .ssh/id_rsa.pub root@192.168.3.206:/root/.ssh/authorized_keys
root@192.168.3.206’s password: <– 输入机器Server的root用户密码
id_rsa.pub 100% |**************************| 218 00:00
[root@Client root]#
在执行上述命令时,两台机器的root用户之间还未建立安全信任关系,所以还需要输入机器Server的root用户密码。
经过以上2步,就在机器Client的root和机器Server的root之间建立安全信任关系。
-
crontab应用
wiki备份#! /bin/shrm /var/www/dokuwiki_bak.tar.gztar -cvzf /var/www/dokuwiki_bak.tar.gz /var/www/dokuwikirq=`date +%Y%m%d`scp /var/www/dokuwiki_bak.tar.gz root@211.157.136.46:/var/wiki_copy/dokuwiki$rq.tar.gz延深:系统环境 debian5.0方法1:在linux平台上如果需要实现任务调度功能可以编写cron脚本来实现。以某一频率执行任务linux缺省会启动crond进程,crond进程不需要用户启动、关闭。crond进程负责读取调度任务并执行,用户只需要将相应的调度脚本写入cron的调度配置文件中。cron的调度文件有以下几个:均在/etc/目录下crontabcron.dcron.dailycron.hourlycron.monthlycron.weekly如果用的任务不是以hourly monthly weekly方式执行,则可以将相应的crontab写入到crontab 或cron.d目录中。示例内容为分钟 小时 天 月 星期 用户 命令*/2 * * * * root /opt/bin/test-cron.sh #每两分钟就执行……..0 6,12,18 * * * root …………… #每天6点、12点、18点执行……..启动cron进程的方法:/etc/init.d/crond start方法二:把cron加入到启动脚本中:# rc-update add vixie-cron defaultcrontab -l #查看你的任务crontab -e#编辑你的任务(debian系统crontab默认编辑器不是vi,需要修改环境变量EDITOR,(命令:export EDITOR=vim))crontab -r#删除用户的crontab的内容收获:可以把经常要做的一些事放到其中,简化工作量,如每周一检查服务器的运行状态,查看报告,杀掉一些进程等等…… -
jquery应用:鼠标移动到表格tr变色
/**@param tabID 表格名称*@param oveClass 鼠标进入时的样式*@param outClass 鼠标离开时的样式(为样式名称)*/function altrow(tabID,oveClass,outClass) {var rowObj = $(“#” + tabID).find(“tr”);$.each(rowObj, function (i, obj) {var tr = $(obj);tr.mousemove(function () {tr.addClass(oveClass);});tr.mouseout(function () {tr.removeClass(oveClass);tr.addClass(outClass);});});}网页加载$(document).ready(function(){altrow(传入参数);}); -
Js压缩加密工具 (PHP版)
下载地址:
http://www.codebit.cn/packer/packer.php-1.0.zip -
get_magic_quotes_gpc() get_magic_quotes_runtime()
GPC 过滤Get Post Cookie 而 RUNTIME 是过滤对数据库执行查询时的过滤。作用:检测php.ini中的magic_quotes_runtime的值magic_quotes_gpc 设置是否自动为GPC(get,post,cookie)传来的数据中的\’\”\\加上反斜线。set_magic_quotes_runtime(0) -
debian专题
LAMP安装 http://www.silentstreet.net/archives/2218.html
debian开发环境安装 http://blogold.chinaunix.net/u/20581/showart_1098627.html
-
Amavisd参数
前言amavisd-new为一新的amavis perl module,它具有高效能、检查信件内容(SpamAssasin)、VirusScanners(可结合28种之多的扫毒程式)。它是由perl所写成的,所以效能有大幅的成长。它可与MTA使用SMTP、LMTP协定来沟通。postfix+amavisd-new的流程:(1)信件由Internet(smtpd)或是由Local(pickup)接收要传送的信件(2)信件传送至cleanup(3)信件传送至qmgr(4)因content_filter的设定,会将信件传送至smtp-amavis(5)amavisd-new执行content file及scanvirus的动作(6)amavisd-new将信件传送至smtpd 10025(127.0.0.1:10025)(7)信件传送至cleanup(8)信件传送至qmgr(9)信件传送至Internet(smtp)或是Local(local)———————————————————————————————————————版本系统为debian/linux 4.0,amavisd-new 2.4.2-5配置文件Amavisd-new的主要配置文档在/etc/amavis/conf.d/目录中;还有些变量需在amavisd-new的可执行脚步中查看,为/usr/sbin/amavisd-new。1./etc/amavis/conf.d/配置文档在/etc/amavis/conf.d/目录中,主要配置文件有:/etc/amavis/conf.d/15-content_filter_mode/etc/amavis/conf.d/20-debian_defaults⑴在15-content_filter_mode中:查杀病毒功能块,把下面代码前的“#”去掉便可。#@bypass_virus_checks_maps = (# \%bypass_virus_checks, \@bypass_virus_checks_acl, \$bypass_virus_checks_re);垃圾邮件功能块:@bypass_spam_checks_maps = ( #让amavisd-new启动spamassassin\%bypass_spam_checks, \@bypass_spam_checks_acl, \$bypass_spam_checks_re);1; # insure a defined return⑵在20-debian_defaults中(此文件相当于其他版本中的amavisd.conf):use strict;#将$QUARANTINEDIR设定为刚刚建立的病毒隔离目录$QUARANTINEDIR = “$MYHOME/virusmails”;$log_recip_templ = undef; # disable by-recipient level-0 log entries$DO_SYSLOG = 1; # log via syslogd (preferred)$syslog_ident = ‘amavis’; # syslog ident tag, prepended to all messages$syslog_facility = ‘mail’; # Syslog facility as a string$syslog_priority = ‘debug’; # switch to info to drop debug output, etc$enable_db = 1; # enable use of BerkeleyDB/libdb (SNMP and nanny)$enable_global_cache = 1; # enable use of libdb-based cache if $enable_db=1$inet_socket_port = 10024; # 默认amavisd-new监听端口t#设定评分规则#变量以$sa开头的均为spamassassin中的,在这进行设置后,在 /etc/spamassassin/local.cf 所#设定的將失去效用$sa_spam_subject_tag = ‘***SPAM*** ‘; # 对垃圾邮件主题添加’***SPAM*** ‘$sa_tag_level_deflt = -10; # 超过这个分数标准者,才视为垃圾邮件打分数。$sa_tag2_level_deflt = 20; # 超过这个分数标准者,才允许在邮件标题加入Spam 信息。加入#X-Spam-Flag:YES 及改写主题$sa_kill_level_deflt = 6.31; # 超过这个分数标准者,就直接將信件备份后删除$sa_dsn_cutoff_level = 10; # 超过这个分数标准者,將不会送出 DSN 信息$sa_mail_body_size_limit = 200*1024; # 超过某个特定大小的邮件就不经过SpamAssassin 的扫#描,此大小不包括附件大小。#让sa可以和外部连线$sa_local_tests_only = 0; # only tests which do not require internet access?$sa_auto_whitelist = 1; # 启用自动学习白名单 White List#启用 SpamAssassin 的 Debug。在正式上线时请记得去掉# Turn on SpamAssassin debugging (output to STDERR, use with ‘amavisd debug’)$sa_debug = 1; # defaults to false# 设定 White List# 注意:在 /etc/spamassassin/local.cf 所设定的將失去效用!@whitelist_sender_maps = ( [“.cc17121.com”] );#添加白名单,对大附件仍然进行解压缩,但不打分#map { $whitelist_sender{lc($_)}=1 } (qw( #同上功能# *@cc17121.com# *@*.edu.tw#));# 或指定为某个档案。注意:这些档案必须存在,否则Amavisd-new 將无法启动!read_hash(\%whitelist_sender, ‘/var/amavis/whitelist’);#指定黑名单read_hash(\%blacklist_sender, ‘/var/amavis/blacklist’);#若收件人名列其中,则不进行垃圾邮件检测read_hash(\%spam_lovers, ‘/var/amavis/spam_lovers’);###以下几个变量在执行脚本/usr/sbin/amavisd-new中均可找到####################### Quota limits to avoid bombs (like 42.zip)$MAXLEVELS = 1; #扫描压缩包时,解压几层$MAXFILES = 150; #最多扫描压缩包内1500个文件$MIN_EXPANSION_QUOTA = 100*1024; # 单位bytes,最小邮件限额,包括附件$MAX_EXPANSION_QUOTA = 200*1024*1024; # bytes , 最大邮件大小,为200K$MIN_EXPANSION_FACTOR = 1; #可扫描邮件大小的最小倍数$MAX_EXPANSION_FACTOR = 500; #可扫描邮件大小的最大倍数##最大扫描压缩包大小为($MAX_EXPANSION_QUOTA)×($MAX_EXPANSION_FACTOR),#当解压缩后的文件达到此值时,系统会结束解压缩进程。###########################################################$undecipherable_subject_tag = ‘ ‘; #取消对未检查的信件主题添加“UNCHECK”,也可以在#执行脚本/usr/sbin/amavisd-new中修改”UNCHECK”# Use D_DISCARD 邮件不传送给发件人及收件人。#Use D_BOUNCE 不传送给收件人。除了定义在 $viruses_that_fake_sender_re 病毒名称# # #外的信件,amavisd-new 皆会传送 DSN 讯息给发件人。# Use D_REJECT 不传送给收件人,发件人会收到拒绝传送的信息。# Use D_PASS 不做任何处理,直接传送给收件人。$final_virus_destiny = D_DISCARD;$final_banned_destiny = D_PASS;$final_spam_destiny = D_DISCARD;$final_bad_header_destiny = D_PASS;$MAX_EXPANSION_FACTOR测试结果:a. 附件为257M,$MAX_EXPANSION_FACTOR为500倍,先添加好附件:点击发送:11:16:00 发送页面完成:11:19:20 耗时:3m 20sBzip进程开始时间:11:23:45 结束时间:11:28:00 耗时:4m 15s (bzip为解压缩进程)发送完成时间:11:30:40 共耗时:14m40sb. 附件为257M,$MAX_EXPANSION_FACTOR为1倍,先添加好附件:点击发送:12:31:30 发送页面完成:12:34:40 耗时:3m 10sBzip进程开始时间:12:39:05 结束时间:12:39:55 耗时:50s (bzip为解压缩进程)发送完成时间:12:42:30 共耗时:11m00s2./usr/sbin/amavisd-new 执行文件$MIN_EXPANSION_FACTOR = 1; # times original mail size$MAX_EXPANSION_FACTOR = 500; # times original mail size$spam_lover #发送垃圾邮箱至# timeout for our processing: 超出设置时间后会断开连接$child_timeout = 8*60; # abort child if it does not complete a task in n sec# $child_timeout的值則須小於/etc/postfix/main.cf裡smtp_data_dome_timeout的值# Net::Server pre-forking settings – defaults, overruled by amavisd.conf$max_servers = 2; # number of pre-forked children$max_requests = 10; # retire a child after that many accepts# serves only as a quick default for other configuration settings$MYHOME = ‘/var/amavis’;$mydomain = ‘!change-mydomain-variable!.example.com’;#intentionally bad default$virus_admin = “administrator\@$mydomain”;$spam_admin = “administrator\@$mydomain”;$mailfrom_notify_admin = “administrator\@$mydomain”;$mailfrom_notify_recip = “administrator\@$mydomain”;$mailfrom_notify_spamadmin = “administrator\@$mydomain”;