返回列表 发帖

Python3+CentOS6下的crontab周期性计划任务

笺注:这是在 Linux下使用Python3脚本备份站点(Zabbix) 的基础上进行的。


[root@Zabbix_server_01 ~]# which python3
/usr/local/bin/python3

[root@Zabbix_server_01 ~]# ll backup_zabbix.py
-rwxr-xr-x 1 root root 1152 2月   8 11:45 backup_zabbix.py



######

crontab周期性计划任务的配置格式为:分、时、日、月、星期(07都代表星期日)
- :表示一个连续的时间范围,如1-5,表示整数1、2、3、4、5
, :表示一个间隔的不连续时间范围,如3,7,9,表示整数3、7、9
/ :用来指定间隔频率,如“分”区块中的 */5 表示每隔5分钟


编辑crontab计划任务:
[root@Zabbix_server_01 ~]# crontab -e -u root
-bash: crontab: command not found

解决方法:
[root@Zabbix_server_01 ~]# yum -y install vixie-cron


[root@Zabbix_server_01 ~]# which crontab
/usr/bin/crontab

[root@Zabbix_server_01 ~]# service crond start
正在启动 crond:[确定]


确认进程crond在运行中:
[root@Zabbix_server_01 ~]# ps -ef |grep crond |grep -v grep
root       2384      1  0 11:31 ?        00:00:00 crond

确认开机自动运行进程crond:
[root@Zabbix_server_01 ~]# chkconfig --list crond
crond           0:关闭  1:关闭  2:启用  3:启用  4:启用 5:启用  6:关闭



给系统用户root创建一个crontab计划任务:( 5月 28日11时50分自动运行备份脚本;用户登不登录,任务都会执行)
[root@Zabbix_server_01 ~]# crontab -e -u root
50 11 28 5 * /usr/local/bin/python3 /root/backup_zabbix.py


查看系统用户root的crontab计划任务:
[root@Zabbix_server_01 ~]# whoami
root
[root@Zabbix_server_01 ~]# crontab -l
50 11 28 5 * /usr/local/bin/python3 /root/backup_zabbix.py

[root@Zabbix_server_01 ~]# crontab -l -u root
50 11 28 5 * /usr/local/bin/python3 /root/backup_zabbix.py



使用crontab计划任务备份出来的文件:
[root@Zabbix_server_01 ~]# ls -lh /home/backup/*.bz2
-rw-r--r-- 1 root root 15M 5月  28 11:50 /home/backup/zabbix.zhuohua.store_20200528_115001.tar.bz2






######

再给系统用户root创建一个crontab计划任务:( 星期日时每隔5分钟就删除一次/home/backup/下的.bz2文件 )
[root@Zabbix_server_01 ~]# crontab -e -u root
追加:
*/5 * * * 0 /bin/rm -r /home/backup/*.bz2


再次查看系统用户root的crontab计划任务:
[root@Zabbix_server_01 ~]# crontab -l -u root
50 11 28 5 * /usr/local/bin/python3 /root/backup_zabbix.py
*/5 * * * 0 /bin/rm -r /home/backup/*.bz2


备注:
[root@Zabbix_server_01 ~]# which rm
alias rm='rm -i'
        /bin/rm





######

使用计划任务自动重启服务器:(每天的2时8分重启服务器)
[root@localhost ~]# crontab -e -u root
追加:
8 2 * * * /sbin/init 6

再次查看系统用户root的crontab计划任务:
[root@Zabbix_server_01 ~]# crontab -l -u root
50 11 28 5 * /usr/local/bin/python3 /root/backup_zabbix.py
*/2 * * * 0 /bin/rm -r /home/backup/*.bz2
8 2 * * * /sbin/init 6





######

清空系统用户root的所有crontab计划任务:
[root@Zabbix_server_01 ~]# crontab -r -u root
[root@Zabbix_server_01 ~]#
[root@Zabbix_server_01 ~]# crontab -l -u root
no crontab for root




相关文章:
本地备份站点目录和数据库+crontab计划任务
MySQL自带的备份工具myslqdump

Python3+Windows任务计划可参考:Windows2012R2_UPUPW_网站的备份和还原(使用Python3脚本)

返回列表