我们的征途是星辰大海

My Conquest Is the Sea of Stars

cron导致系统故障?+ moodle备份

无意中发现做实验用的一台备机(Ubuntu 7.1)响应很慢,甚至无法ssh登录,只好本地接上显示器,看到终端提示,”Oct 14 11:15:27 weboa-s kernel: [43473278.750000] Active:29039 inactive:29220 di
rty:0 writeback:0 unstable:0 free:671 slab:2497 mapped:57700 pagetables:1068″

试图登陆另一控制台,也没有反映,只能重启了。

参看日志 less /var/log/syslog

Oct 14 11:15:27 weboa-s kernel: [43473278.750000] HighMem free:0kB min:128kB low:32kB high:64kB active:0kB inac
tive:0kB present:0kB pages_scanned:0 all_unreclaimable? no
Oct 14 11:15:27 weboa-s kernel: [43473278.750000] lowmem_reserve[]: 0 0 0 0
Oct 14 11:15:27 weboa-s kernel: [43473278.750000] DMA: 1*4kB 1*8kB 1*16kB 1*32kB 1*64kB 1*128kB 1*256kB 1*512kB
0*1024kB 0*2048kB 0*4096kB = 1020kB
Oct 14 11:15:27 weboa-s kernel: [43473278.750000] DMA32: empty
Oct 14 11:15:27 weboa-s kernel: [43473278.750000] Normal: 182*4kB 9*8kB 2*16kB 0*32kB 1*64kB 0*128kB 1*256kB 1*
512kB 0*1024kB 0*2048kB 0*4096kB = 1664kB
Oct 14 11:15:27 weboa-s kernel: [43473278.750000] HighMem: empty
Oct 14 11:15:27 weboa-s kernel: [43473278.750000] Swap cache: add 30985675, delete 30985672, find 2851074/66262
05, race 5+46
Oct 14 11:15:27 weboa-s kernel: [43473278.750000] Free swap  = 0kB
Oct 14 11:15:27 weboa-s kernel: [43473278.750000] Total swap = 750416kB
Oct 14 11:15:27 weboa-s kernel: [43473278.750000] Free swap:            0kB
Oct 14 11:15:27 weboa-s kernel: [43473278.760000] 65399 pages of RAM
Oct 14 11:15:27 weboa-s kernel: [43473278.760000] 0 pages of HIGHMEM
Oct 14 11:15:27 weboa-s kernel: [43473278.760000] 1611 reserved pages
Oct 14 11:15:27 weboa-s kernel: [43473278.760000] 801 pages shared
Oct 14 11:15:27 weboa-s kernel: [43473278.760000] 3 pages swap cached
Oct 14 11:15:27 weboa-s kernel: [43473278.760000] 0 pages dirty
Oct 14 11:15:27 weboa-s kernel: [43473278.760000] 0 pages writeback
Oct 14 11:15:27 weboa-s kernel: [43473278.760000] 57700 pages mapped
Oct 14 11:15:27 weboa-s kernel: [43473278.760000] 2497 pages slab
Oct 14 11:15:27 weboa-s kernel: [43473278.760000] 1068 pages pagetables
Oct 14 11:15:27 weboa-s kernel: [43473278.760000] Out of Memory: Killed process 25143 (mysqld).
Oct 14 11:15:27 weboa-s kernel: [43473280.150000] oom-killer: gfp_mask=0x201d2, order=0
Free swap  = 0kB,居然swap也满了,暂时看不懂原因,接着往下看,发现另一段文字,

Oct 14 11:20:07 weboa-s /USR/SBIN/CRON[25329]: (root) CMD (wget -q -O /dev/null
http://10.100.55.199/moodle/admin/cron.php)
Oct 14 11:24:06 weboa-s kernel: [43473809.150000] oom-killer: gfp_mask=0x201d2,
order=0
原来是 moodle定时脚本,估计是这里出错了,先停止任务再说。

看到这里才终于想起自己在这台机器上还架了个moodle.本来是打算作网络培训的,后来发现太费内存,搁置了。其实2005年也架过moodle,直到重装系统后才想起,资料丢失小吐血阿,这次怎么说也要先备份一下moodle资料,虽然没几堂课程.不然又白辛苦了。

--------------------

moodle资料备份如下:现学现卖 。哈哈。

第一步:备份moodle源程序
1. 进入moodle源程序所在目录,将源程序备份至其他目录中。
举例:将/usr/local/moodle中的moodle源程序备份至/tmp/backup中,命令行如下:
cp –r /usr/local/moodle /tmp/backup/moodle
2. 检查是否备份成功
命令:ls –al /tmp/backup/moodle
查看是否列出了moodle文件夹中的所有文件及目录,如果其中有文件和目录表示备份成功。
第二步:备份moodledata目录
1. 进入moodledata所在目录,将其中的所有文件备份至其他目录中。
举例:将/usr/local/moodledata中的所有数据备份至/tmp/backup中,命令行如下:
cp –r /usr/local/moodledata /tmp/backup/moodledata
2. 监测是否备份成功
命令:ls –al /tmp/backup/moodledata
查看是否列出了moodledate文件夹中的所有文件及目录,如果其中有文件和目录表示备份成功。
第三步:备份数据库(首先需要知道访问数据库的超级用户名和密码)
1. 备份moodle数据库
/usr/local/mysql/bin/mysqldump –u root –p moodle>/tmp/backup/moodle.sql
输入root密码后就开始备份
2. 检查是否备份成功
命令:ls –al /tmp/backup/
查看是否有moodle.sql的文件,如果有表示该文件数据库备份成功。
第四步:压缩备份的文件夹
压缩备份的文件夹,减少容量以便拷贝到其他地方。
1. 压缩/tmp/backup文件夹为zip文件
举例:cd /tmp/backup(备份backup中的所有文件)
第一步:备份moodle源程序
1. 进入moodle源程序所在目录,将源程序备份至其他目录中。
举例:将/usr/local/moodle中的moodle源程序备份至/tmp/backup中,命令行如下:
cp –r /usr/local/moodle /tmp/backup/moodle
2. 检查是否备份成功
命令:ls –al /tmp/backup/moodle
查看是否列出了moodle文件夹中的所有文件及目录,如果其中有文件和目录表示备份成功。
第二步:备份moodledata目录
1. 进入moodledata所在目录,将其中的所有文件备份至其他目录中。
举例:将/usr/local/moodledata中的所有数据备份至/tmp/backup中,命令行如下:
cp –r /usr/local/moodledata /tmp/backup/moodledata
2. 监测是否备份成功
命令:ls –al /tmp/backup/moodledata
查看是否列出了moodledate文件夹中的所有文件及目录,如果其中有文件和目录表示备份成功。
第三步:备份数据库(首先需要知道访问数据库的超级用户名和密码)
1. 备份moodle数据库
/usr/local/mysql/bin/mysqldump –u root –p moodle>/tmp/backup/moodle.sql
输入root密码后就开始备份
2. 检查是否备份成功
命令:ls –al /tmp/backup/
查看是否有moodle.sql的文件,如果有表示该文件数据库备份成功。
第四步:压缩备份的文件夹
压缩备份的文件夹,减少容量以便拷贝到其他地方。
1. 压缩/tmp/backup文件夹为zip文件
举例:cd /tmp/backup(备份backup中的所有文件)
tar -czvf backup20081014.tar.gz back/
(backup20081014.代表gz的文件名,/tmp/backup表示需要备份的文件存放路径)
备份完成后文件将放在/tmp/backup中。
2. 将压缩文件拷贝至别处

搞定收工。

至于系统挂起的问题,稍后再研究日志。参见 syslog

点赞

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据