重启centos:
reboot (普通重启)
shutdown -r now (立即重启)
快速删除mysql中数据:
truncate table
启动mariadb数据库:
sudo systemctl start mariadb
启动redis:
service redis start
运行nginx:
sudo /usr/sbin/nginx
Django中拉取所有需要的static file 到同一个目录:
在django的setting文件中,添加下面一行内容:
STATIC_ROOT = os.path.join(BASE_DIR, "static/")
运行命令
python manage.py collectstatic
查看uwsgi进程:
ps -aux | grep uwsgi
启动uwsgi:
uwsgi -i uwsgi.ini &
Django中migrate不了新表:
1.删除migrations下的文件重试;
2.查看models文件中的定义的 managed 是否为 False,如果是改为True;
3.删除数据库django_migrations表中的数据重试。
Django中distinct用法(mysql环境):
配合values()与order_by()使用,values与order_by中的内容相同distinct才有用
TempLogic.objects.filter(stamp__gte=tem_time).values('applianceid', 'faulttype_data_analysis', 'faulttype_expert_logic').order_by('applianceid', 'faulttype_data_analysis', 'faulttype_expert_logic').distinct()
Django中updata用法(mysql环境):
updata中的数据有字段更新时间更新,没有字段更新则时间不更新。(timestamp时间格式)
MySQL:mysql -u root -p 进入MySQL服务;
MySQL:查看连接数 show processlist;
MySQL:timestamp与datetime:
timestamp
只占 4 个字节,而且是以utc
的格式储存, 它会自动检索当前时区并进行转换。
datetime
以 8 个字节储存,不会进行时区的检索.
也就是说,对于timestamp
来说,如果储存时的时区和检索时的时区不一样,那么拿出来的数据也不一样。对于datetime
来说,存什么拿到的就是什么。
还有一个区别就是如果存进去的是NULL
,timestamp
会自动储存当前时间,而 datetime
会储存 NULL
。
Django中nginx拉不了静态文件:
修改 urls.py
在urls.py中导入2个库
1 2 |
|
并在结尾追加
1 |
|
最后保存好是这个样子的:
1 2 3 4 5 6 7 |
|
virtualbox中的网络连接:
其中"o"表示连接,“x”表示不通。
连通性 模式名称 | 外部网络 | 宿主机(有线网络) | 宿主机(无线网络) | 同宿主机虚拟机 | 跨宿主机虚拟机 |
NAT网络 | o | o | x | o | x |
桥接网卡 | o | o | o | o | o |
内部网络 | x | x | x | o | x |
仅主机(Host-Only) 网络 | x | o | o | o | x |
Linux操作指令:
vi :命令模式下 输入 /想要查询的字符串 按N查找下一个;连续按两次d,删除整行;
ll -a :查看所有文件,包括隐藏文件;
wc:统计命令;
touch:touch filename 创建空文件;
mkdir : 创建目录;
mv :重命名文件\文件夹;
rm -r :删除目录;
scp: 命令用于在网络中不同主机之间复制文件或目录;
sort:sort -n 文件名 按照数值排序,sort -r 文件名 逆序排列,sort -k 2 文件名 按指定列排序;
uniq:先sort再uniq去重,sort test.txt | uniq ;
data:data + "%Y-%m-%d %H:%M:%S" 查看当前时间,data + %s 查看当前时间戳;
ps:ps -ef 显示所有进程;
netstat:yum install -y net-tools 安装,netstat -anp,显示端口;
jsp:显示java进程,安装java环境后才能使用;
top:显示系统资源占用信息;
grep:查找,-i 忽略大小写;
sheel:变量赋值是通过"="进行赋值,在变量、等号和值之间不能出现空格;
echo $?:返回上一条命令的状态码;
'':单引号不解析变量;
"":双引号解析变量;
``:反引号是执行并引用命令的执行结果,同$();
nohup:退出脚本任然继续执行;
crontab:定时器,查询服务状态systemctl status crond,vi/etc/crontab 添加定时任务;
tar -zcvf :打包及压缩(gzip方式);
tar -zxvf XX: 解压安装;
history N: 显示最近N条命令 ;
HDFS:
查看文件列表:hdfs dfs -ls -R /
查看文件:hdfs dfs -cat /hellow.txt
删除文件:hdfs dfs -rm /hellow.txt
删除文件跳过回收站:hdfs dfs -rm -skipTrash /hellow.txt
shell定时上传数据脚本实例:
#!/bin/bash
# 获取昨天日期字符串
yesterday=$1
if [ "$yesterday" = "" ]
then
yesterday=`date +%Y_%m_%d --date="1 days ago"`
fi
# 拼接日志文件路径信息
logPath=/data/log/access_${yesterday}.log
# 将日期字符串中的_去掉
hdfsPath=/log/${yesterday//_/}
# 在hdfs上创建目录
hdfs dfs -mkdir -p ${hdfsPath}
# 将数据上传到hdfs的指定目录中
hdfs dfs -put ${logPath} ${hdfsPath}