Posted on

nginx中日志log配置与logrotate

logrotate是个十分有用的工具,它可以自动对日志进行截断(或轮循)、压缩以及删除旧的日志文件。例如,你可以设置logrotate,让/var/log/foo日志文件每30天轮循,并删除超过6个月的日志。配置完后,logrotate的运作完全自动化,不必进行任何进一步的人为干预。

logrotate的配置文件是/etc/logrotate.conf,通常不需要对它进行修改。日志文件的轮循设置在独立的配置文件中,它(们)放在/etc/logrotate.d/目录下。

sudo vim /etc/logrotate.d/nginx

 

/var/log/nginx/*.log {
monthly
missingok
rotate 14
delaycompress
notifempty
create 0640 www-data adm
sharedscripts
prerotate
if [ -d /etc/logrotate.d/httpd-prerotate ]; then \
run-parts /etc/logrotate.d/httpd-prerotate; \
fi \
endscript
postrotate
invoke-rc.d nginx rotate >/dev/null 2>&1
endscript
}

 

Posted on

ubuntu中php7.0使用curl

sudo apt-get install php7.0-curl

在php中使用curl:

$url = "https://123.456.789.666:4001/login";
$header = array('Content-Type: application/json');
$data='{"password":"123456"}';
$ch = curl_init();
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$output = curl_exec($ch);
$httpCode = curl_getinfo($ch,CURLINFO_HTTP_CODE);
curl_close($ch);
//打印獲得的數據
$output = json_decode($output);
var_dump($httpCode);
print_r($output->token);

Posted on

ubuntu开机启动

rc.local脚本是一个Ubuntu开机后会自动执行的脚本,我们可以在该脚本内添加命令行指令。该脚本位于/etc/路径下,需要root权限才能修改。

注意: 一定要将命令添加在exit 0之前。里面可以直接写命令或者执行Shell脚本文件sh。

sudo vim /etc/rc.local

directive >/home/log.txt 2>&1 & //最后加&表示后台运行
node app.js >/log.txt 2>&1 & 

exit 0

Posted on

ubuntu中crontab定时任务

*/5 * * * * php 5minScript.php >> 5minScript.txt //每5分钟运行一次,输出到5minScript.txt文件
0 1,13 * * * php 12hourScript.php >> 12hourScript.txt //每天1点和13点运行一次
11 0 1 * * php monthScript.php >> monthScript.txt //每月1日0:11运行一次

通过crontab 命令,我们可以在固定的间隔时间执行指定的系统指令或 shell script脚本。时间间隔的单位可以是分钟、小时、日、月、周及以上的任意组合。这个命令非常适合周期性的日志分析或数据备份等工作。

crontab -e //编辑某个用户的crontab文件内容。如果不指定用户,则表示编辑当前用户的crontab文件。

crontab  -l//显示某个用户的crontab文件内容,如果不指定用户,则表示显示当前用户的crontab文件内容。

crontab的文件格式

分 时 日 月 星期 要运行的命令

  • 第1列分钟0~59
  • 第2列小时0~23(0表示子夜)
  • 第3列日1~31
  • 第4列月1~12
  • 第5列星期0~7(0和7表示星期天)
  • 第6列要运行的命令

6 0 1 * * sudo reboot //每月1日0:06重启

编辑sudo不用输入密码:

sudo vim /etc/sudoers

输入:your_user_name ALL=(ALL) NOPASSWD: ALL //设置用户名

再输入:%sudo ALL=(ALL) NOPASSWD: ALL //设置用户组