【精华】Linux核心知识大综合,开机自启动(后台运行node.js/redis主程序),查看进程(ps/netstat),定时运行(备份数据库)

开机自启动:

在linux系统下,有个重要的文件/etc/rc.local,在所有开机进程运行完后最后依次执行该文件里的shell指令。

    vim /etc/rc.local

    

    1、第一条touch新建文件夹,与下面没有关系。

    2、后三条是自动启动node.js和redis的服务,写相应的路径即可。

    3、加&实现后台运行。


就是这么简单,下次重启开机的时候这些程序就会自动运行啦!


查看进程:

    ps aux|grep -E 'node|redis'

    netstat tunpl|grep -E 'node|redis'


    ps看进程,netstat看网络(带的参数都是标准情况下最实用),|是管道,-E可以按正则搜索。

    ps详解:http://man.linuxde.net/ps

    netstat详解:http://man.linuxde.net/netstat

    grep详解:http://man.linuxde.net/grep

    管道一句话可以解释清楚:以前面的输出结果为基础继续执行后面的指令。



定时运行:    

    记得先查看crond有没有开启:

        service crond status

    


    crontab -e(如果没有,yum install crontab下载即可)

    

    以上#后是注释,不起作用。

    

    除前五个参数控制时间外,后面的都是指令(同样可运行shell)

    时程表的格式如下:

        f1 f2 f3 f4 f5 program

          

        三个符号 *  ,  / 

        f1为*表示每分钟,f1为0-50,58表示从0分到50分钟和第58分钟。当 f1 为 */n 时表示每 n 分钟个时间间隔执行一次,f2 为 */n 表示每 n 小时个时间间隔执行一次,其余类推……


    用这条指令测试,帮助理解:* * * * * echo 'sadfwe' >> /home/ttt.txt(一分钟后cat /home/ttt.txt)

    里面内容都是在后台运行,所以打印的东西窗口无法看到,需要输入文件。

    >覆盖写入 >>追加写入


 备份数据库:

    mysqldump -u账号 -p密码 --all-databases>输出文件路径

    --all-databases表示所有数据库,也可以用具体数据库名代替

    或者--databases db1 db2 db3 …… 备份多个数据库

结合crontab便可以实现定时自动备份啦,最后推荐使用 ll -h 查看大小:


    


猜你喜欢

转载自blog.csdn.net/qq_40670457/article/details/80199907