linux每日
‘壹’ linux中weblogic的启动脚本nohup输出的日志如何按每日生成
在脚本nohup设置每天开始拷贝日志作为前一天的日志备份,然后把当前日志清空即可,代码如下:
crontab-e
//增加:
00***cp/dirname/logfile.log/bakdir/logfile.`date-dyesterday+%Y%m%d`.log;cat/dev/null>/dirname/logfile.log
//每周日凌晨1:00打包、删除文件:
01**0cd/bakdir;find./+mtime7-exectarcvflogfile.`date-dyesterday+%Y%U`.tar{};;find./-mtime91-execrm-f{};
‘贰’ linux 通过scp命令自动将文件夹下的每日更新数据传送到远程windows目录下。求脚本
你在win下创建一个ftp用户
#!/bin/sh
#ftp server info
ip=*
user=*
pwd=*
plate=*
file=“*”
ftp -n $ip<<!
user $user $pwd
bin
hash
idle 7200
prompt off
mkdir $plate
cd $plate
put $file
bye
!
‘叁’ linux 每日自动备份文件的脚本
1、比如每天产生一个/data/access.log这样的文件,我们每天备份到backup目录的access_2011-01-12.log.gz这样的文件。
2、增加计划任务
export
EDITOR=vi
crontab
-e
0
0
*
*
*
/data/bak.sh;
3、bak.sh文件内容如下:
cat
/data/bak.sh
#!/bin/bash
logs_dir=/data
bak_dir=/data/backup
bak_file=access_`date
+%Y%m%d`.log
#
tar
everyday
#echo
"begining
of
tar"
tar
zcf
$bak_dir/$bak_file.gz
$logs_dir/access.log
#
clear
bak_file
#echo
"clearing
file.log"
find
$bak_dir
-mtime
+7
-exec
rm
-rf
{}
\;
#end
求采纳为满意回答。
‘肆’ linux系统每天自动巡检,输出到一个文件里
先把20台服务器的ssh登陆语句写进一个文本文件中host_name.txt,确保有一台机器可以通其他的19台服务器。
ssh跳转格式这样写:ssh 用户名@ip
#!/bin/bash
check_sev()
{
ssh_ip=$1
$ssh_ip<<!
vmstat110
iostat110
exit
!
echo
}
echo`date"+%D"`>>check_host.log
whilereadline
do
echo"---------------------------------">>check_host.log
echo"$linedate'+%F%T'">>check_host.log
check_sev$line>>check_host.log
done<host_name.txt
将上面的脚本放在一个主机上,用crontab提交每日任务,
30 10 * * * 上面脚本的目录地址
将以上内容写进xx.cron中,crontabxx.cron 提交就是每天的10:30运行你上面的检查脚本。
具体crontab的用户你可以网络。
====================================================================
第一个脚本本人纯手打,并没有试,还有不少漏洞,你可以自行修改,比如你这个放脚本的服务器必须能无密码ssh登陆其他19个主机,脚本最好加上错误日志记录,防止某些错误导致脚本异常终止。你可以多调试几遍,有问题的在一起交流。