如何在linux(centos)服务器上安装软件?
linux系统下使用脚本定时备份数据库,代码如下:#!/bin/bash #Setting #设置数据库名,数据库登录名,密码,备份路径,日志路径,数据文件位置,以及备份方式 #默认情况下备份方式是mysqldump,还可以是mysqldump,mysqldotcopy,如果注释掉第#18行,则默认以tag的方式备份#默认情况下,用root(空)登录mysql数据库,备份至/root/dbxxxxxtgz DBName=mysqlDBUser=rootDBPasswd=123456BackupPath=/home/wang/www/backup/mysql/mysqlbackupLogFile=/home/wang/www/backup/mysql/dblogDBPath=/var/lib/mysql/#BackupMethod=mysqldump#BackupMethod=mysqlhotcopy#BackupMethod=tar#Setting EndNewFile="$BackupPath"db$(date +%y%m%d)tgz DumpFile="$BackupPath"db$(date +%y%m%d) OldFile="$BackupPath"db$(date +%y%m%d --date='5 days ago')tgz echo "-------------------------------------------" >> $LogFile echo $(date +"%y-%m-%d %H:%M:%S") >> $LogFile echo "--------------------------" >> $LogFile #Delete Old Fileif [ -f $OldFile ] then rm -f $OldFile >> $LogFile 2>&1 echo "[$OldFile]Delete Old File Success!" >> $LogFile else echo "[$OldFile]No Old Backup File!" >> $LogFile fi if [ -f $NewFile ] then echo "[$NewFile]The Backup File is exists,Can’t Backup!" >> $LogFile else case $BackupMethod in mysqldump) if [ -z $DBPasswd ] then mysqldump -u $DBUser --opt $DBName > $DumpFile else mysqldump -u $DBUser -p$DBPasswd --opt $DBName > $DumpFile fi tar czvf $NewFile $DumpFile >> $LogFile 2>&1 echo "[$NewFile]Backup Success!" >> $LogFile rm -rf $DumpFile ;; mysqlhotcopy) rm -rf $DumpFile mkdir $DumpFile if [ -z $DBPasswd ] then mysqlhotcopy -u $DBUser $DBName $DumpFile >> $LogFile 2>&1 else mysqlhotcopy -u $DBUser -p $DBPasswd $DBName $DumpFile >>$LogFile 2>&1 fi tar czvf $NewFile $DumpFile >> $LogFile 2>&1 echo "[$NewFile]Backup Success!" >> $LogFile rm -rf $DumpFile ;; ) /etc/initd/mysqld stop >/dev/null 2>&1 tar czvf $NewFile $DBPath >> $LogFile 2>&1 /etc/initd/mysqld start >/dev/null 2>&1 echo "[$NewFile]Backup Success!" >> $LogFile ;; esacfiecho "-------------------------------------------"echo#lftp -f lftpsh 如果有FTP可同时上传ftp中。再利用crontab命令生成/var/spool/cron/root 文件:#crontab –e //打开一个编辑窗口,第一行会有内容格式的提示,在此输入命令//m h dom mon dow command //具体意义表示:分钟 小时 日期 月份 星期 命令,在某月(mon)的某天(dom)或者星期几(dow)的几点(h,24小时制)几分(m)执行某个命令(command)//如: 10 02 /home/backup/autobackupmysqlsh (表示零晨二点十分执行备份脚本)
一方面用来放置我们的站点,另一方面实验室放一台服务器,也为实验室的成员们提供一些额外的服务,方便科研和学习。
虽然做 Web 我是轻车熟路了,但倒腾 Linux 服务器我绝对还是个新手。虽然平时为了开发也没少倒腾过,但基本上都是调一下 Apache 或 PHP 之类的事情。所以下面写的东西只是个记录,不敢班门弄斧,方法也都是 Google 来的,如果您有什么意见建议,欢迎您提出来。
本文只写一下搭建基本服务器的部分。发行版我选择的是 Ubuntu,虽然我知道 CentOS 或是 RHEL 可能性能会更好点,但毕竟 Ubuntu 比较熟悉也比较简单。Ubuntu 本身有 Server 版,而且可以几乎无需干预的安装好一台 LAMP Server,但 Linux 本身的乐趣就在于折腾,而且对于服务器我更希望知道到底都有什么东西在跑,所以我决定从搭建一个干净的基本系统开始。经过一番 Google,我找到了一个近乎“完美”的教程:Minimal Ubuntu 804 Server Install,下面的安装过程也基本就是按着这个教程来的,稍微改进满足了一下实际需要。
言归正传,开始进入安装。首先,用 Ubuntu 804 Desktop Live CD 引导服务器,开一个 Terminal 就可以开工了。
第一步,启动分区工具对硬盘分区。这里我使用的也是 cfdisk (不用 GPart 的原因是因为这台服务器压根就没鼠标 -_-b),对 500G 的硬盘进行了分区。命令如下:
sudo su
cfdisk /dev/sda
首先分出 60MB 主分区用作 /boot,然后分 50GB 逻辑分区作为根分区,4GB 逻辑分区作为交换分区,剩下的分一个分区作为 /home 使用。分好后不要忘了写入分区表。
完成分区之后开始对各个分区进行格式化,为了方便,我只使用了 ext3 这一种格式:
mkfsext3 /dev/sda1
mkfsext3 /dev/sda5
mkfsext3 /dev/sda6
mkswap /dev/sda7
完成分区后可以装基本系统了,这里需要使用 debootstrap,具体命令是:
mkdir /min
mount /dev/sda5 /min
mkdir /min/boot
mount /dev/sda1 /min/boot
mkdir /min/home
mount /dev/sda6 /min/home
apt-get install debootstrap
在执行 debootstrap 之前,建议先进行一下源设置。因为这一步需要下载大量软件,因此选用一个最快的源还是很有必要的。这里我使用的是 cn99 的源:
nano /usr/share/debootstrap/scripts/hardy
找到类似下面的段落(default_mirror),改为您需要的源:
case $ARCH in amd64|i386|sparc)
default_mirror http://ubuntucn99com/ubuntu
然后开始安装最小系统
debootstrap hardy /min
完成后,我们需要对这个系统进行一番设置使其可用。首先我们可以先将一些设置信息直接复制到目标系统中:
cp /etc/hosts /min/etc/
cp /etc/network/interfaces /min/etc/network/
cp /etc/bash_completion /min/etc/
cp /etc/bashbashrc /min/etc/
此外,我们还需要为光驱进行一些设置:
mkdir -p /min/media/cdrom0
ln -s cdrom0 /min/media/cdrom
建立 fstab:
nano /etc/fstab
fstab 文件的内容大致如下:
proc /proc proc defaults 0 0 /dev/sda5 / ext3 relatime 0 1 /dev/sda1 /boot ext3 relatime 0 1 /dev/sda6 /home ext3 relatime 0 1 /dev/sda7 none swap sw 0 0 /dev/cdrom /media/cdrom0 udf,iso9660 user,noauto,exec,utf8 0 0
做完这一步,我的系统基本上就装好了,现在我们就可以 chroot 进去,进行进一步的配置:
mount –bind /dev /min/dev
mount -t proc proc /min/proc
mount -t sysfs sysfs /min/sys
chroot /min
设定时区:
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
安装一个文本编辑器,我个人比较喜欢 nano,当然你也可以装 vim:
apt-get install nano
建立源列表,还是填入最快的源:
nano /etc/apt/sourceslist
内容如下,使用的是 cn99 的源(我在教育网能到 1M/s 的速度)
deb http://ubuntucn99com/ubuntu hardy main restricted universe multiverse deb http://ubuntucn99com/ubuntu hardy-updates main restricted universe multiverse deb http://ubuntucn99com/ubuntu hardy-security main restricted universe multiverse
更新源并升级现有软件:
apt-get update
apt-get dist-upgrade
设置 root 用户密码,并新建一个用户,并使它有 sudo 权限:
passwd
adduser liuyang
addgroup admin
adduser liuyang admin
echo “%admin ALL=(ALL) ALL”/etc/sudoers
安装 grub,使目标系统可以引导:
apt-get install linux-image-server grub
mkdir /boot/grub
update-grub
update-initramfs -u
目标系统已经设置完毕,现在推出 chroot,完成最后的操作 – 将 grub 装到 /dev/sda 的 MBR 上:
exit
grub-install –root-directory=/min –no-floppy –recheck /dev/sda
重新启动系统,退出 Live CD,如果一切正常的话,你应该可以用一个“干净的” Ubuntu 引导起你的服务器了。
兄弟 硬盘是200G,问题是这个硬盘下的分区你没说,不可能1个盘就1个区吧~ 你看看分区情况!!
tar 是打包 不是压缩,如果要压缩 你还得加上参数 -jcv -f
例: tar -jcv -f /目录/文件tarbz2 /目录/文件
bz2文件比 楼上的 gz 压缩比更高!
0条评论