分类目录归档:开发日常

游戏开发记录

linux screen

一、背景

系统管理员经常需要SSH 或者telent 远程登录到Linux 服务器,经常运行一些需要很长时间才能完成的任务,比如系统备份、ftp 传输等等。通常情况下我们都是为每一个这样的任务开一个远程终端窗口,因为它们执行的时间太长了。必须等待它们执行完毕,在此期间不能关掉窗口或者断开连接,否则这个任务就会被杀掉,一切半途而废了。

继续阅读linux screen

crond pam_loginuid(crond:session): set_loginuid failed

vim /etc/pam.d/crond

#session    required   pam_loginuid.so
session    include    system-auth

在ubuntu下安装crontab后,系统默认未开启crontab的日志记录。
启用crontab的日志的办法:

修改rsyslog文件,将/etc/rsyslog.d/50-default.conf 文件中的#cron.*前的#删掉;
重启rsyslog服务:

service rsyslog restart

重启cron服务:

service cron restart

查看日志:
more /var/log/cron.log;
查看运行时的日志文件,如果在日志文件中出现:
No MTA installed, discarding output
则crontab执行脚本时是不会直接错误的信息输出,而是会以邮件的形式发送到邮箱里,需要邮件服务器了,如果没有安装邮件服务器,它就会报这个错。
如果是测试,可以参考以下方法:

在每条定时脚本后面加入:

/dev/null 2>&1

即将所有信息输入到linux操作系统中的空设备/dev/null中。

即可解决No MTA installed, discarding output的问题。

Docker volume使用(容器共享数据)

一个数据卷是一个特别指定的目录,该目录利用容器的UFS文件系统可以为容器提供一些稳定的特性或者数据共享。数据卷可以在多个容器之间共享。

创建数据卷,只要在docker run命令后面跟上-v参数即可创建一个数据卷,当然你也可以跟多个-v参数来创建多个数据卷,当创建好带有数据卷的容器后,你就可以在其他容器中通过–volumes-froms参数来挂载该数据卷了,而不管该容器是否运行。你也可以在Dockerfile中通过VOLUME指令来增加一个或者多个数据卷。

如果你有一些数据想在多个容器间共享,或者想在一些临时性的容器中使用该数据,那么最好的方案就是你创建一个数据卷容器,然后从该临时性的容器中挂载该数据卷容器的数据。例如如下操作:

继续阅读Docker volume使用(容器共享数据)

手把手教你搭建带用户认证的docker私有镜像仓库

1) 必要软件安装:

# 安装软件之前,我们先更新一下软件源列表,然后重启
ubuntu@VM-201-98-ubuntu:~$ sudo apt-get update

# 切换到root用户
ubuntu@VM-201-98-ubuntu:~$ sudo su

# 安装nginx-extras包,我们要用其中的chunkin模块
root@VM-201-98-ubuntu:~# apt-get install git nginx-extras

# 安装apache2-utils包,这样我们就可以用htpasswd命令来设置密码
root@VM-201-98-ubuntu:~# apt-get install apache2-utils

# 安装一些必要的依赖
root@VM-201-98-ubuntu:~# apt-get install build-essential libevent-dev libssl-dev liblzma-dev python-dev python-pip

# 安装redis来实现我们的LRU缓存策略
root@VM-201-98-ubuntu:~# apt-get install redis-server
root@VM-201-98-ubuntu:~# apt-get clean


2) docker-registry 安装

对于 Ubuntu 或 CentOS 等发行版,可以直接通过源安装。

继续阅读手把手教你搭建带用户认证的docker私有镜像仓库