ubuntu server下python脚本迁移数据

因为是在Ubuntu下,所以安装python、pip、pymysql等都极其方便,sudo apt-get install pymysql,

但是在安装cx_Oracle(连接oracle的模块)出现许多问题,查阅相关资料,发现这边文章能够帮我解决,希望大家少走点弯路。http://www.tbdazhe.com/archives/602

1.安装python

2.安装pip、pymysql、cx_oracle

3.import module

主要这次我想通过python脚本,定时把数据从oracle库导入mysql库

__author__ = 'young'
# coding=UTF-8
import os

os.environ['NLS_LANG'] = 'SIMPLIFIED CHINESE_CHINA.UTF8'

import cx_Oracle
# 导入pymysql的包
import pymysql


def synctask():
    '''Hello cx_Oracle示例:

    1)打印数据库版本信息.
    2)查询表数据.'''

    conn = cx_Oracle.connect("username/password@ip:1522/health")
    cur = conn.cursor()

    # 获取一个数据库连接,注意如果是UTF-8类型的,需要制定数据库
    conn_mysql = pymysql.connect(host='ip', user='smart', passwd='smart', db='smart', port=3306,
                                 charset='utf8')
    cur_mysql = conn_mysql.cursor()  # 获取一个游标
    try:
        cur_mysql.execute("insert into user(name) values('123')")
        print "Oracle Version:%s" % conn.version
        print "Table test rows:"
        sql = 'SELECT *  FROM t_user where pat_id < 2000 order by pat_id'
        cur.execute(sql)
        for row in cur:
            print row[1].decode('utf-8')
            data = row[1].decode('utf-8')

    finally:
        conn_mysql.commit()
        conn.commit()
        conn_mysql.close()
        cur_mysql.close()
        cur.close()
        conn.close()


synctask()

 ubuntu下kettle的配置

1. 把pdi-ce-5.2.0.0-209.zip包到指定目录,unzip解压到
sudo  unzip pdi-ce-5.2.0.0-209.zip /home/
2. 授予权限,data-integration目录下shell脚本
chmod +x *.sh
3.把oracle、mysql的jar包上传到data-integration/lib目录下
4.在data-integration 目录,键入“./kitchen.sh”回车,如果有帮助信息则表示kettle 环境部署成功
5.把在windows下搭建的kjb、ktr放入到制定目录,如
sudo mv sync_mysql.ktr sync_mysql.kjb /home/kettlejob/
6.需记得把kjb中使用ktr转换任务的路径配置成linux的目录
7.在data-integration 目录,执行一个kettle作业
sh kitchen.sh -file:/home/kettlejob/sync_mysql.kjb -level:Detailed
结论:
使用kettle比起我自己用python写脚本速度快得不止一倍,我表示还是kettle使用比较有效果。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 可以使用Linux系统自带的crontab命令来定时执行Python脚本。 具体步骤如下: 1. 打开终端,输入以下命令打开crontab编辑器: ``` crontab -e ``` 2. 在编辑器中添加定时任务,格式如下: ``` * * * * * /usr/bin/python3 /path/to/your/script.py ``` 其中,星号代表任意时间,每个星号对应一个时间单位,从左到右依次为:分钟、小时、日期、月份、星期。上述命令表示每分钟执行一次Python脚本。 3. 保存并退出编辑器。 注意事项: - 路径需要根据实际情况进行修改。 - Python解释器的路径需要根据实际情况进行修改。 - 如果需要定时执行Python脚本,需要保证Python脚本具有可执行权限。可以使用以下命令添加可执行权限: ``` chmod +x /path/to/your/script.py ``` ### 回答2: Ubuntu是一个功能强大的操作系统,它支持定时执行Python脚本的功能。这对于需要定时执行一些重复任务的用户来说非常有用。 下面是在Ubuntu上定时执行Python脚本的方法: 1.创建Python脚本:首先需要创建一个Python脚本,这个脚本包含你需要执行的任务。 2.打开终端:在Ubuntu上打开终端,通过cd命令进入到存放Python脚本的文件夹中。 3.输入命令:输入以下命令来编辑一个crontab文件:crontab -e。 4.设置定时任务:在编辑器中添加以下内容,来设置定时执行的任务: ```python * * * * * python3 your_script.py ``` 这个命令的意思是,在每一分钟都执行`your_script.py` 这个 Python脚本。如果你需要设置其他的间隔时间,可以使用Crontab的专用语法来设置,比如: * * * * * command-to-be-executed - - - - - | | | | | | | | | ----- Day of the Week(0 - 7)(Sunday is both 0 and 7) | | | ------- Month (1 - 12) | | --------- Day of the Month (1 - 31) | ----------- Hour (0 - 23) ------------- Minute (0 - 59) 例如,如果你希望在每天早上7点执行脚本,可以使用如下命令: ```python 0 7 * * * python3 your_script.py ``` 5.保存文件:当你设置好定时执行任务后,保存文件即可。系统会在指定的时间自动运行你的脚本。 总之,定时执行Python脚本是在Ubuntu上非常简单的事情。只需要创建脚本,编辑 crontab 文件,然后设置定时任务即可。通过这个方法,你可以自动化你的一些重复任务,从而提高效率,减少工作量。 ### 回答3: 要在Ubuntu定时执行Python脚本,可以使用Linux自带的Cron任务调度程序。Cron是Linux基础架构之一,是一种系统定时任务管理工具,可以帮助用户定期执行命令或脚本,用户可以通过Cron编写自己的定时任务,并设置执行时间。下面是使用Cron在Ubuntu定时执行Python脚本的步骤: 1. 打开Linux终端。 2. 输入以下命令安装Cron:sudo apt-get install cron 3. 安装好Cron后,输入以下命令启动Cron服务:sudo systemctl start cron 4. 然后,输入以下命令进入Cron的配置文件:sudo crontab -e 5. 在文件底部添加以下语句:* * * * * python /path/to/your/python_script.py 这里的* * * * *代表每分钟都执行,您可以根据需要修改时间。/path/to/your/python_script.py需要替换为真实的Python脚本路径。 6. 用户可以使用Ctrl+S保存文件,Ctrl+X退出。 以上是在Ubuntu定时执行Python脚本的简单步骤,如果您需要更高级的设置,可以查找在线资源,使用Cron的高级选项,例如发送邮件,输出到日志文件等。此外,也可以考虑使用其他定时任务工具,如systemd、anacron等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值