随笔分类 - Ubuntu
摘要:前言自己实现了一套线上数据库增量备份的方案,每天只备份增量数据库db(ps:线上大概有30多万个数据库)。但是突然有一天,用户活跃度猛增,一天竟然有20多万数据库需要备份,当然原因我已经查明(商业关系不做详细说明),但是引起的问题是我在mv 20多万sql文件的时候出现了 /bin/mv:参数列表过长的错误解决方法用find命令替代原始的mv操作find 源文件路径 -type f -name '*.jpg' -exec mv {} 目标路径 \;后记这篇纯记录一下自己脚本代码遇到的一些坑,大家有则改之,无则加勉吧
阅读全文
摘要:前言linux下学习一个命令,首先man一下:netstat命令,用于显示网络相关信息,如网络连接,路由表,接口状态(interface statistics), masquerade 连接,多播成员(multicase memberships)等等。netstat信息执行netstat,其输出结果为:从整体上看,netstat的输出结果分为两个部分:一个是激活Internet连接,称为有源TCP连接,其中"Recv-Q"和"Send-Q"指接收队列和发送队列。这些数字一般都应该是0.如果不是则表示软件包正在队列中堆积。这种情况只能在非常少的情况下见到另
阅读全文
摘要:前言在ubuntu下一般使用fdisk这个工具来格式化u盘,至于格式化u盘的原因必然是因为u盘本身的系统在需要使用人的机器上不能识别,例如window无法识别GPT文件系统的u盘,这也是我一个同事今天遇到的问题,所以我需要将u盘的文件系统格式化为ntfs,这里介绍一下操作步骤查看硬盘分区信息sudo fdisk -l截图通过截图,可以看到u盘设备号为/dev/sdb,大小为16.1GB,文件系统类型是GPT,很明显是我们格式化的目标u盘分区sudo fdisk /dev/sdb很简单,按住m就会有命令提示:没什么可说的,不做翻译了,这里我删除之前的分区,再创建一个分区即可(也是为了学习fdi.
阅读全文
摘要:前言今天给实验室的同学讲FQ的时候,被中文的目录名恶心到了,写两种方法进行修改修改系统语言环境1.修改系统当前语言环境export LANG=en_US2.更新家目录的文件命名xdg-user-dirs-gtk-update跳出对话框,提示是否更新成英文,同意即可3.修改系统当前语言环境为中文export LANG=zh_CN.UTF-8修改系统配置文件1.当前用户的家目录配置文件位置:vim ~/.config/user-dirs.dirs2.打开看一下应该就知道如何修改了,关键的一点是:先把中文目录重命名,在去user-dirs.dirs相应的信息
阅读全文
摘要:问题今天更新的时间,报出了一个错误:因为我给boot分了256m,系统内核装在boot分区上,因此我需要清理一下boot分区查看系统现有内核dpkg --get-selections|grep linux-image图示如下:查看现在使用的内核uname -a图示如下:清理/boot分区主要的思路就是选择性删除你不想继续使用的内核,清理出/boot分区空间即可sudo apt-get purge 内核名称清理残留文件清理/usr/src目录,删除你已经卸载的内核目录
阅读全文
摘要:前言今天搞线下服务器灾备测试的时候,用shell操作数据库,不小心将mysql自带的几个库给drop掉了,无奈想重装mysql,靠它自己恢复了,哈哈,windows用户遗留下来的思想作怪啊,记录一下我彻底删除mysql的操作删除mysqlsudo apt-get autoremove --purge mysql-server-5.5sudo apt-get remove mysql-common清理残留安装软件dpkg -l |grep ^rc|awk '{print $2}' |sudo xargs dpkg -P清除数据库旧数据注意到,mysql的数据库信息都存放在data
阅读全文
摘要:前言今天很天真的写了个openvpn的开机启动脚本,以为添加到/etc/rc.local就万事大吉了,结果肯定是失败的,因此这里记录一下我学习linux启动流程的过程!系统启动流程加载BOIS的硬件资讯与进行自我测试,并依据配置取得第一个可启动的装置在个人计算机架构下,你想要启动整部系统首先就得让系统去加载BIOS(Basic Input Output System),并透过BIOS程序去加载CMOS资讯,并且藉由CMOS内的配置值取得主机的各项硬件配置。在取得这些资讯后,BIOS还会进行启动自我测试(power-on self test,POST)。然后开始运行硬件侦测的初始化,并配置PnP
阅读全文
摘要:前言自己管理的一台服务器出现了时间错误,导致邮件发送显示的时间很有问题,因此痛定思痛,在这里花时间记录一下搭建ntp服务器的过程简介NTP协议全称网络时间协议(Network Time Procotol),它的目的是在国际互联网上传递统一、标准的时间。具体的实现方案是在网络上指定若干时钟源网站,为用户提供授时服务,并且这些网站间应该能够相互比对,提高准确度。NTP是一个跨越广域网或局域网的复杂的同步时间协议,它通常可获得毫秒级的精度。RFC2030描述了SNTP(Simple Network Time Protocol),目的是为了那些不需要完整NTP实现复杂性的主机,它是NTP的一个子集。通
阅读全文
摘要:前言大家都知道,代码对整个IT公司来说就是生命,小中型公司由于人员水平问题,大部分都采用svn进行代码的版本化控制,因此svn的版本库备份显得至关重要,这里我介绍svnsync实现svn的版本库同步,并且将实现过程脚本化需求同步的主版本库位于A服务器(192.168.1.1),基于apache进行访问控制,配置根目录下有test[1-9]这9个版本库,采用http协议进行访问镜像版本库位于B服务器(192.168.1.2),基于apache进行访问控制,采用http协议进行访问授权访问控制由于主版本库和镜像版本库都采用libapache2-svn模块进行权限访问控制,因此我们首先需要提供一个s
阅读全文
摘要:前言在linux下挂载磁盘分区的时候,除了利用磁盘的代号之外(/dev/sd*),也可以直接利用磁盘的label来作为挂载的磁盘挂载点。优点:无论磁盘的代号如何变化,不论你将磁盘插在哪个IDE接口,由于是通过label挂在,所以磁盘插在哪个接口将不会有影响!缺点:如何插了两个磁盘,恰好两个磁盘的label重复,就悲剧了,因为系统无法判断哪个磁盘分割槽才是正确的!查看系统的磁盘代号:系统挂载限制根目录/是必须挂载的,而且一定要先于其它mount point被挂载进来其它mount point必须为已建立的目录查看磁盘分区的UUID命令sudo blkid效果注:可以根据windows分区的la.
阅读全文
摘要:前言在线下做mysql数据分析的时候,会遇到执行shell脚本里导入sql文件到mysql数据库里或者连接mysql执行指定sql语句的情况,这里介绍一下我采用的方法导入sql文件到mysql数据库示例代码#变量定义
sqlname="test.sql"
dir="/sdb2/backup/mysql_db_backup/backup/databases"
host="127.0.0.1"
user="root"
passwd="123456"
dbname="test" #
阅读全文
摘要:前言由于之前的线上服务器替换过ip地址,导致线下服务器crontab在拉取备份日志时日志里记录了如下问题(ps:在家边解决bug边看我是歌手,很爽啊):注意:查找服务器端问题一定要查看日志,不能靠猜,例如ssh的问题可以多加-vvv参数来具体排查问题原因线上服务器进行了ip地址的修改,开始出现Host key verification failed的时候,以为删除自己的know_hosts文件即可,但是没有解决本质问题,所以察看日志很重要解决方法mknod -m 644 /dev/tty c 5 0
chmod o+rw /dev/tty公私钥认证解决了上面的问题,发现之前由于不清楚原因搞乱了
阅读全文
摘要:起因今天发现一台服务器crontab定时运行scp的备份脚本失败,手动执行脚本没问题,所以想从crontab的日志里找原因,突然发现我的/var/log下没有cron日志,这里记录一下如何ubuntu server如何查看crontab日志crontab记录日志修改rsyslogsudo vim /etc/rsyslog.d/50-default.confcron.* /var/log/cron.log #将cron前面的注释符去掉重启rsyslogsudo service rsyslog restart查看crontab日志less /var/log/cron.logcro...
阅读全文
摘要:需求shell脚本里我需要根据不同的ip地址做出不同的操作,因此我需要在shell脚本里获取当前主机的ip地址我需要获取到192.168.1.111这个ip地址方法1ifconfig |grep 'inet 地址'|grep '192.168.1' | grep -v 'grep' | awk '{print $2}'| tr -d "地址:"效果
阅读全文

浙公网安备 33010602011771号